0001
0002 #ifndef _LINUX_VHOST_H
0003 #define _LINUX_VHOST_H
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include <linux/vhost_types.h>
0015 #include <linux/types.h>
0016 #include <linux/ioctl.h>
0017
0018 #define VHOST_FILE_UNBIND -1
0019
0020
0021
0022 #define VHOST_VIRTIO 0xAF
0023
0024
0025
0026 #define VHOST_GET_FEATURES _IOR(VHOST_VIRTIO, 0x00, __u64)
0027 #define VHOST_SET_FEATURES _IOW(VHOST_VIRTIO, 0x00, __u64)
0028
0029
0030
0031
0032 #define VHOST_SET_OWNER _IO(VHOST_VIRTIO, 0x01)
0033
0034
0035 #define VHOST_RESET_OWNER _IO(VHOST_VIRTIO, 0x02)
0036
0037
0038 #define VHOST_SET_MEM_TABLE _IOW(VHOST_VIRTIO, 0x03, struct vhost_memory)
0039
0040
0041
0042
0043
0044
0045 #define VHOST_SET_LOG_BASE _IOW(VHOST_VIRTIO, 0x04, __u64)
0046
0047 #define VHOST_SET_LOG_FD _IOW(VHOST_VIRTIO, 0x07, int)
0048
0049
0050
0051
0052 #define VHOST_SET_VRING_NUM _IOW(VHOST_VIRTIO, 0x10, struct vhost_vring_state)
0053
0054 #define VHOST_SET_VRING_ADDR _IOW(VHOST_VIRTIO, 0x11, struct vhost_vring_addr)
0055
0056 #define VHOST_SET_VRING_BASE _IOW(VHOST_VIRTIO, 0x12, struct vhost_vring_state)
0057
0058 #define VHOST_GET_VRING_BASE _IOWR(VHOST_VIRTIO, 0x12, struct vhost_vring_state)
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069 #define VHOST_VRING_LITTLE_ENDIAN 0
0070 #define VHOST_VRING_BIG_ENDIAN 1
0071 #define VHOST_SET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x13, struct vhost_vring_state)
0072 #define VHOST_GET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x14, struct vhost_vring_state)
0073
0074
0075
0076
0077
0078 #define VHOST_SET_VRING_KICK _IOW(VHOST_VIRTIO, 0x20, struct vhost_vring_file)
0079
0080 #define VHOST_SET_VRING_CALL _IOW(VHOST_VIRTIO, 0x21, struct vhost_vring_file)
0081
0082 #define VHOST_SET_VRING_ERR _IOW(VHOST_VIRTIO, 0x22, struct vhost_vring_file)
0083
0084 #define VHOST_SET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x23, \
0085 struct vhost_vring_state)
0086
0087 #define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24, \
0088 struct vhost_vring_state)
0089
0090
0091
0092 #define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64)
0093 #define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64)
0094
0095
0096
0097
0098
0099
0100
0101 #define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file)
0102
0103
0104
0105 #define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target)
0106 #define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target)
0107
0108 #define VHOST_SCSI_GET_ABI_VERSION _IOW(VHOST_VIRTIO, 0x42, int)
0109
0110 #define VHOST_SCSI_SET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x43, __u32)
0111 #define VHOST_SCSI_GET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x44, __u32)
0112
0113
0114
0115 #define VHOST_VSOCK_SET_GUEST_CID _IOW(VHOST_VIRTIO, 0x60, __u64)
0116 #define VHOST_VSOCK_SET_RUNNING _IOW(VHOST_VIRTIO, 0x61, int)
0117
0118
0119
0120
0121
0122
0123 #define VHOST_VDPA_GET_DEVICE_ID _IOR(VHOST_VIRTIO, 0x70, __u32)
0124
0125
0126
0127 #define VHOST_VDPA_GET_STATUS _IOR(VHOST_VIRTIO, 0x71, __u8)
0128 #define VHOST_VDPA_SET_STATUS _IOW(VHOST_VIRTIO, 0x72, __u8)
0129
0130
0131
0132 #define VHOST_VDPA_GET_CONFIG _IOR(VHOST_VIRTIO, 0x73, \
0133 struct vhost_vdpa_config)
0134 #define VHOST_VDPA_SET_CONFIG _IOW(VHOST_VIRTIO, 0x74, \
0135 struct vhost_vdpa_config)
0136
0137 #define VHOST_VDPA_SET_VRING_ENABLE _IOW(VHOST_VIRTIO, 0x75, \
0138 struct vhost_vring_state)
0139
0140 #define VHOST_VDPA_GET_VRING_NUM _IOR(VHOST_VIRTIO, 0x76, __u16)
0141
0142
0143 #define VHOST_VDPA_SET_CONFIG_CALL _IOW(VHOST_VIRTIO, 0x77, int)
0144
0145
0146 #define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \
0147 struct vhost_vdpa_iova_range)
0148
0149 #define VHOST_VDPA_GET_CONFIG_SIZE _IOR(VHOST_VIRTIO, 0x79, __u32)
0150
0151
0152 #define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32)
0153
0154
0155 #define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x81, __u32)
0156
0157
0158 #define VHOST_VDPA_GET_AS_NUM _IOR(VHOST_VIRTIO, 0x7A, unsigned int)
0159
0160
0161
0162
0163
0164
0165 #define VHOST_VDPA_GET_VRING_GROUP _IOWR(VHOST_VIRTIO, 0x7B, \
0166 struct vhost_vring_state)
0167
0168
0169
0170
0171 #define VHOST_VDPA_SET_GROUP_ASID _IOW(VHOST_VIRTIO, 0x7C, \
0172 struct vhost_vring_state)
0173
0174
0175
0176
0177
0178
0179
0180
0181 #define VHOST_VDPA_SUSPEND _IO(VHOST_VIRTIO, 0x7D)
0182
0183 #endif