aboutsummaryrefslogtreecommitdiff
path: root/include/linux/virtio_console.h
diff options
context:
space:
mode:
authorAmit Shah <amit.shah@redhat.com>2010-05-19 22:15:46 -0600
committerRusty Russell <rusty@rustcorp.com.au>2010-05-19 22:15:46 +0930
commitb99fa815d71023b2e330d63cd7f47d6247ffa321 (patch)
treeaf39e4a1c6f2364ff2c52933c27ac8c35328ac2a /include/linux/virtio_console.h
parentbbd603efb4238cf78083c00f0a81adfa8994aa33 (diff)
virtio: Revert "virtio: disable multiport console support."
This reverts commit b7a413015d2986edf020fba765c906cc9cbcbfc9. Multiport support was disabled for 2.6.34 because we wanted to introduce a new ABI and since we didn't have any released kernel with the older ABI and were out of the merge window, it didn't make sense keeping the older ABI around. Now we revert the patch disabling multiport and rework the ABI in the following patches. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/virtio_console.h')
-rw-r--r--include/linux/virtio_console.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/virtio_console.h b/include/linux/virtio_console.h
index 92228a8fbcb..ae4f039515b 100644
--- a/include/linux/virtio_console.h
+++ b/include/linux/virtio_console.h
@@ -12,14 +12,37 @@
/* Feature bits */
#define VIRTIO_CONSOLE_F_SIZE 0 /* Does host provide console size? */
+#define VIRTIO_CONSOLE_F_MULTIPORT 1 /* Does host provide multiple ports? */
struct virtio_console_config {
/* colums of the screens */
__u16 cols;
/* rows of the screens */
__u16 rows;
+ /* max. number of ports this device can hold */
+ __u32 max_nr_ports;
+ /* number of ports added so far */
+ __u32 nr_ports;
} __attribute__((packed));
+/*
+ * A message that's passed between the Host and the Guest for a
+ * particular port.
+ */
+struct virtio_console_control {
+ __u32 id; /* Port number */
+ __u16 event; /* The kind of control event (see below) */
+ __u16 value; /* Extra information for the key */
+};
+
+/* Some events for control messages */
+#define VIRTIO_CONSOLE_PORT_READY 0
+#define VIRTIO_CONSOLE_CONSOLE_PORT 1
+#define VIRTIO_CONSOLE_RESIZE 2
+#define VIRTIO_CONSOLE_PORT_OPEN 3
+#define VIRTIO_CONSOLE_PORT_NAME 4
+#define VIRTIO_CONSOLE_PORT_REMOVE 5
+
#ifdef __KERNEL__
int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, int));
#endif /* __KERNEL__ */