# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1197294717 0
# Node ID 7232a025140ffb2bc2d5df40d7fbec816c30a576
# Parent cf9bc1ff6cde5523a41f56c0a1a54d6734b7aed3
Sync public i/o header files with Xen.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
include/xen/interface/io/blkif.h | 15 ++++++++++++++-
include/xen/interface/io/kbdif.h | 2 ++
include/xen/interface/io/netif.h | 27 ++++++++++++++++++++++++---
3 files changed, 40 insertions(+), 4 deletions(-)
diff -r cf9bc1ff6cde -r 7232a025140f include/xen/interface/io/blkif.h
--- a/include/xen/interface/io/blkif.h Mon Dec 10 11:52:07 2007 +0000
+++ b/include/xen/interface/io/blkif.h Mon Dec 10 13:51:57 2007 +0000
@@ -54,7 +54,7 @@
#define BLKIF_OP_WRITE 1
/*
* Recognised only if "feature-barrier" is present in backend xenbus info.
- * The "feature_barrier" node contains a boolean indicating whether barrier
+ * The "feature-barrier" node contains a boolean indicating whether barrier
* requests are likely to succeed or fail. Either way, a barrier request
* may fail at any time with BLKIF_RSP_EOPNOTSUPP if it is unsupported by
* the underlying block-device hardware. The boolean simply indicates whether
@@ -63,6 +63,19 @@
* create the "feature-barrier" node!
*/
#define BLKIF_OP_WRITE_BARRIER 2
+/*
+ * Recognised if "feature-flush-cache" is present in backend xenbus
+ * info. A flush will ask the underlying storage hardware to flush its
+ * non-volatile caches as appropriate. The "feature-flush-cache" node
+ * contains a boolean indicating whether flush requests are likely to
+ * succeed or fail. Either way, a flush request may fail at any time
+ * with BLKIF_RSP_EOPNOTSUPP if it is unsupported by the underlying
+ * block-device hardware. The boolean simply indicates whether or not it
+ * is worthwhile for the frontend to attempt flushes. If a backend does
+ * not recognise BLKIF_OP_WRITE_FLUSH_CACHE, it should *not* create the
+ * "feature-flush-cache" node!
+ */
+#define BLKIF_OP_FLUSH_DISKCACHE 3
/*
* Maximum scatter/gather segments per request.
diff -r cf9bc1ff6cde -r 7232a025140f include/xen/interface/io/kbdif.h
--- a/include/xen/interface/io/kbdif.h Mon Dec 10 11:52:07 2007 +0000
+++ b/include/xen/interface/io/kbdif.h Mon Dec 10 13:51:57 2007 +0000
@@ -50,6 +50,7 @@ struct xenkbd_motion
uint8_t type; /* XENKBD_TYPE_MOTION */
int32_t rel_x; /* relative X motion */
int32_t rel_y; /* relative Y motion */
+ int32_t rel_z; /* relative Z motion (wheel) */
};
struct xenkbd_key
@@ -64,6 +65,7 @@ struct xenkbd_position
uint8_t type; /* XENKBD_TYPE_POS */
int32_t abs_x; /* absolute X position (in FB pixels) */
int32_t abs_y; /* absolute Y position (in FB pixels) */
+ int32_t abs_z; /* absolute Z position (wheel) */
};
#define XENKBD_IN_EVENT_SIZE 40
diff -r cf9bc1ff6cde -r 7232a025140f include/xen/interface/io/netif.h
--- a/include/xen/interface/io/netif.h Mon Dec 10 11:52:07 2007 +0000
+++ b/include/xen/interface/io/netif.h Mon Dec 10 13:51:57 2007 +0000
@@ -75,9 +75,11 @@ typedef struct netif_tx_request netif_tx
typedef struct netif_tx_request netif_tx_request_t;
/* Types of netif_extra_info descriptors. */
-#define XEN_NETIF_EXTRA_TYPE_NONE (0) /* Never used - invalid */
-#define XEN_NETIF_EXTRA_TYPE_GSO (1) /* u.gso */
-#define XEN_NETIF_EXTRA_TYPE_MAX (2)
+#define XEN_NETIF_EXTRA_TYPE_NONE (0) /* Never used - invalid */
+#define XEN_NETIF_EXTRA_TYPE_GSO (1) /* u.gso */
+#define XEN_NETIF_EXTRA_TYPE_MCAST_ADD (2) /* u.mcast */
+#define XEN_NETIF_EXTRA_TYPE_MCAST_DEL (3) /* u.mcast */
+#define XEN_NETIF_EXTRA_TYPE_MAX (4)
/* netif_extra_info flags. */
#define _XEN_NETIF_EXTRA_FLAG_MORE (0)
@@ -95,6 +97,9 @@ struct netif_extra_info {
uint8_t flags; /* XEN_NETIF_EXTRA_FLAG_* */
union {
+ /*
+ * XEN_NETIF_EXTRA_TYPE_GSO:
+ */
struct {
/*
* Maximum payload size of each segment. For example, for TCP this
@@ -118,9 +123,25 @@ struct netif_extra_info {
uint16_t features; /* XEN_NETIF_GSO_FEAT_* */
} gso;
+ /*
+ * XEN_NETIF_EXTRA_TYPE_MCAST_{ADD,DEL}:
+ * Backend advertises availability via 'feature-multicast-control'
+ * xenbus node containing value '1'.
+ * Frontend requests this feature by advertising
+ * 'request-multicast-control' xenbus node containing value '1'.
+ * If multicast control is requested then multicast flooding is
+ * disabled and the frontend must explicitly register its interest
+ * in multicast groups using dummy transmit requests containing
+ * MCAST_{ADD,DEL} extra-info fragments.
+ */
+ struct {
+ uint8_t addr[6]; /* Address to add/remove. */
+ } mcast;
+
uint16_t pad[3];
} u;
};
+typedef struct netif_extra_info netif_extra_info_t;
struct netif_tx_response {
uint16_t id;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|