um: virtio: Implement VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS
Implement in-band notifications that are necessary for running vhost-user devices under externally synchronized time-travel mode (which is in a follow-up patch). This feature makes what usually should be eventfd notifications in-band messages. We'll prefer this feature, under the assumption that only a few (simulation) devices will ever support it, since it's not very efficient. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:

committed by
Richard Weinberger

orang tua
4b786e24ca
melakukan
dd9ada5627
@@ -10,9 +10,10 @@
|
||||
/* Feature bits */
|
||||
#define VHOST_USER_F_PROTOCOL_FEATURES 30
|
||||
/* Protocol feature bits */
|
||||
#define VHOST_USER_PROTOCOL_F_REPLY_ACK 3
|
||||
#define VHOST_USER_PROTOCOL_F_SLAVE_REQ 5
|
||||
#define VHOST_USER_PROTOCOL_F_CONFIG 9
|
||||
#define VHOST_USER_PROTOCOL_F_REPLY_ACK 3
|
||||
#define VHOST_USER_PROTOCOL_F_SLAVE_REQ 5
|
||||
#define VHOST_USER_PROTOCOL_F_CONFIG 9
|
||||
#define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
|
||||
/* Vring state index masks */
|
||||
#define VHOST_USER_VRING_INDEX_MASK 0xff
|
||||
#define VHOST_USER_VRING_POLL_MASK BIT(8)
|
||||
@@ -24,7 +25,8 @@
|
||||
/* Supported protocol features */
|
||||
#define VHOST_USER_SUPPORTED_PROTOCOL_F (BIT_ULL(VHOST_USER_PROTOCOL_F_REPLY_ACK) | \
|
||||
BIT_ULL(VHOST_USER_PROTOCOL_F_SLAVE_REQ) | \
|
||||
BIT_ULL(VHOST_USER_PROTOCOL_F_CONFIG))
|
||||
BIT_ULL(VHOST_USER_PROTOCOL_F_CONFIG) | \
|
||||
BIT_ULL(VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS))
|
||||
|
||||
enum vhost_user_request {
|
||||
VHOST_USER_GET_FEATURES = 1,
|
||||
@@ -52,12 +54,14 @@ enum vhost_user_request {
|
||||
VHOST_USER_SET_VRING_ENDIAN = 23,
|
||||
VHOST_USER_GET_CONFIG = 24,
|
||||
VHOST_USER_SET_CONFIG = 25,
|
||||
VHOST_USER_VRING_KICK = 35,
|
||||
};
|
||||
|
||||
enum vhost_user_slave_request {
|
||||
VHOST_USER_SLAVE_IOTLB_MSG = 1,
|
||||
VHOST_USER_SLAVE_CONFIG_CHANGE_MSG = 2,
|
||||
VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG = 3,
|
||||
VHOST_USER_SLAVE_VRING_CALL = 4,
|
||||
};
|
||||
|
||||
struct vhost_user_header {
|
||||
|
Reference in New Issue
Block a user