35#define VIRTIO_MAGIC_VALUE 0x74726976
36#define VIRTIO_VENDOR_ID_QEMU 0x554D4551
39#define VIRTIO_GPU_FLAG_FENCE (1<<0)
40#define VIRTIO_GPU_FLAG_INFO_RING_IDX (1<<1)
236#define VIRTIO_PCI_CAP_ID 0x09
237#define VIRTIO_PCI_CAP_COMMON_CFG 1
238#define VIRTIO_PCI_CAP_DEVICE_CFG 4
240#define VIRTIO_STATUS_ACKNOWLEDGE 1
241#define VIRTIO_STATUS_DRIVER 2
242#define VIRTIO_STATUS_DRIVER_OK 4
243#define VIRTIO_STATUS_FEATURES_OK 8
struct _common_config_ virtio_common_config
virtio_gpu_ctrl_type
Definition virtio.h:245
@ VIRTIO_GPU_CMD_GET_CAPSET_INFO
Definition virtio.h:255
@ VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER
Definition virtio.h:293
@ VIRTIO_GPU_RESP_OK_EDID
Definition virtio.h:283
@ VIRTIO_GPU_RESP_ERR_INVALID_CONTEXT_ID
Definition virtio.h:292
@ VIRTIO_GPU_CMD_MOVE_CURSOR
Definition virtio.h:276
@ VIRTIO_GPU_RESP_OK_CAPSET_INFO
Definition virtio.h:281
@ VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID
Definition virtio.h:291
@ VIRTIO_GPU_CMD_CTX_DESTROY
Definition virtio.h:264
@ VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY
Definition virtio.h:289
@ VIRTIO_GPU_CMD_TRANSFER_TO_HOST2D
Definition virtio.h:252
@ VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID
Definition virtio.h:258
@ VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB
Definition virtio.h:259
@ VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE
Definition virtio.h:266
@ VIRTIO_GPU_CMD_SUBMIT_3D
Definition virtio.h:270
@ VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB
Definition virtio.h:272
@ VIRTIO_GPU_CMD_GET_EDID
Definition virtio.h:257
@ VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D
Definition virtio.h:268
@ VIRTIO_GPU_RESP_OK_CAPSET
Definition virtio.h:282
@ VIRTIO_GPU_RESP_OK_MAP_INFO
Definition virtio.h:285
@ VIRTIO_GPU_CMD_CTX_CREATE
Definition virtio.h:263
@ VIRTIO_GPU_CMD_RESOURCE_CREATE_2D
Definition virtio.h:248
@ VIRTIO_GPU_CMD_RESOURCE_UNREF
Definition virtio.h:249
@ VIRTIO_GPU_RESP_ERR_UNSPEC
Definition virtio.h:288
@ VIRTIO_GPU_CMD_SET_SCANOUT
Definition virtio.h:250
@ VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING
Definition virtio.h:253
@ VIRTIO_GPU_RESP_OK_DISPLAY_INFO
Definition virtio.h:280
@ VIRTIO_GPU_CMD_RESOURCE_FLUSH
Definition virtio.h:251
@ VIRTIO_GPU_CMD_GET_CAPSET
Definition virtio.h:256
@ VIRTIO_GPU_CMD_GET_DISPLAY_INFO
Definition virtio.h:247
@ VIRTIO_GPU_RESP_OK_NODATA
Definition virtio.h:279
@ VIRTIO_GPU_CMD_SET_SCANOUT_BLOB
Definition virtio.h:260
@ VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D
Definition virtio.h:269
@ VIRTIO_GPU_CMD_RESOURCE_CREATE_3D
Definition virtio.h:267
@ VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE
Definition virtio.h:265
@ VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID
Definition virtio.h:290
@ VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING
Definition virtio.h:254
@ VIRTIO_GPU_RESP_OK_RESOURCE_UUID
Definition virtio.h:284
@ VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB
Definition virtio.h:271
@ VIRTIO_GPU_CMD_UPDATE_CURSOR
Definition virtio.h:275
struct _virtio_mmio_ VirtioMMIOHeader
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
uint16_t flags
Definition virtio.h:81
volatile uint16_t index
Definition virtio.h:82
uint16_t int_index
Definition virtio.h:84
uint16_t ring[64]
Definition virtio.h:83
uint16_t Flags
Definition virtio.h:76
uint16_t Next
Definition virtio.h:77
uint32_t Length
Definition virtio.h:75
uint64_t Addr
Definition virtio.h:74
struct VirtioAvail available
Definition virtio.h:101
struct VirtioUsed used
Definition virtio.h:102
struct VirtioBuffer buffers[64]
Definition virtio.h:100
uint32_t index
Definition virtio.h:88
uint32_t length
Definition virtio.h:89
uint16_t int_index
Definition virtio.h:96
volatile uint16_t index
Definition virtio.h:94
uint16_t flags
Definition virtio.h:93
struct VirtioRing ring[64]
Definition virtio.h:95
volatile uint32_t guest_feature_select
Definition virtio.h:170
volatile uint8_t config_generation
Definition virtio.h:175
volatile uint16_t queue_enable
Definition virtio.h:179
volatile uint64_t queue_desc
Definition virtio.h:181
volatile uint32_t guest_feature
Definition virtio.h:171
volatile uint16_t queues
Definition virtio.h:173
volatile uint64_t queue_avail
Definition virtio.h:182
volatile uint16_t queue_notify_off
Definition virtio.h:180
volatile uint16_t msix
Definition virtio.h:172
volatile uint32_t dev_feature
Definition virtio.h:169
volatile uint16_t queue_msix_vector
Definition virtio.h:178
volatile uint16_t queue_select
Definition virtio.h:176
volatile uint8_t device_status
Definition virtio.h:174
volatile uint32_t dev_feature_select
Definition virtio.h:168
volatile uint64_t queue_used
Definition virtio.h:183
volatile uint16_t queue_size
Definition virtio.h:177
volatile uint32_t DeviceFeatures
Definition virtio.h:133
volatile uint32_t reserved_04C
Definition virtio.h:148
volatile uint32_t InterruptStatus
Definition virtio.h:149
volatile uint32_t QueueSel
Definition virtio.h:139
volatile uint8_t DeviceConfig[0x200 - 0x80]
Definition virtio.h:161
volatile uint32_t QueueDriverLow
Definition virtio.h:155
volatile uint32_t reserved_03C
Definition virtio.h:144
volatile uint32_t DriverFeaturesSel
Definition virtio.h:138
volatile uint32_t QueuePFN
Definition virtio.h:143
volatile uint32_t QueueAlign
Definition virtio.h:142
volatile uint32_t reserved_044
Definition virtio.h:146
volatile uint32_t VendorID
Definition virtio.h:132
volatile uint32_t Status
Definition virtio.h:151
volatile uint32_t ConfigGeneration
Definition virtio.h:159
volatile uint32_t reserved_01C
Definition virtio.h:136
volatile uint32_t QueueNotify
Definition virtio.h:147
volatile uint32_t QueueDriverHigh
Definition virtio.h:156
volatile uint32_t MagicValue
Definition virtio.h:129
volatile uint32_t InterruptACK
Definition virtio.h:150
volatile uint32_t DriverFeatures
Definition virtio.h:137
volatile uint32_t reserved_05C
Definition virtio.h:152
volatile uint32_t QueueNum
Definition virtio.h:141
volatile uint32_t QueueDeviceHigh
Definition virtio.h:158
volatile uint32_t reserved_07C
Definition virtio.h:160
volatile uint32_t QueueDeviceLow
Definition virtio.h:157
volatile uint32_t QueueNumMax
Definition virtio.h:140
volatile uint32_t Version
Definition virtio.h:130
volatile uint32_t reserved_018
Definition virtio.h:135
volatile uint32_t DeviceFeaturesSel
Definition virtio.h:134
volatile uint32_t QueueReady
Definition virtio.h:145
volatile uint32_t QueueDescHigh
Definition virtio.h:154
volatile uint32_t QueueDescLow
Definition virtio.h:153
volatile uint32_t DeviceID
Definition virtio.h:131
uint32_t events_read
Definition virtio.h:112
uint32_t num_capsets
Definition virtio.h:115
uint32_t num_scanouts
Definition virtio.h:114
uint32_t events_clear
Definition virtio.h:113
uint32_t type
Definition virtio.h:44
uint64_t fence_id
Definition virtio.h:46
uint32_t padding
Definition virtio.h:48
uint32_t ctx_id
Definition virtio.h:47
uint32_t flags
Definition virtio.h:45
uint32_t padding
Definition virtio.h:123
uint32_t length
Definition virtio.h:122
uint64_t addr
Definition virtio.h:121
uint32_t x
Definition virtio.h:77
uint32_t width
Definition virtio.h:77
uint32_t height
Definition virtio.h:77
uint32_t y
Definition virtio.h:77
uint32_t padding
Definition virtio.h:70
uint32_t nr_entries
Definition virtio.h:66
uint32_t length
Definition virtio.h:69
uint32_t resource_id
Definition virtio.h:65
struct virtio_gpu_resource_attach_backing::@461 entries[1]
uint64_t addr
Definition virtio.h:68
struct virtio_gpu_ctrl_hdr hdr
Definition virtio.h:64
uint32_t height
Definition virtio.h:58
uint32_t format
Definition virtio.h:56
uint32_t resource_id
Definition virtio.h:55
uint32_t width
Definition virtio.h:57
struct virtio_gpu_ctrl_hdr hdr
Definition virtio.h:54
struct virtio_gpu_rect rect
Definition virtio.h:103
uint32_t resource_id
Definition virtio.h:104
uint32_t padding
Definition virtio.h:105
struct virtio_gpu_ctrl_hdr hdr
Definition virtio.h:102
uint32_t resource_id
Definition virtio.h:85
struct virtio_gpu_rect rect
Definition virtio.h:83
struct virtio_gpu_ctrl_hdr hdr
Definition virtio.h:82
uint32_t scanout_id
Definition virtio.h:84
uint32_t resource_id
Definition virtio.h:94
struct virtio_gpu_rect rect
Definition virtio.h:92
uint64_t offset
Definition virtio.h:93
uint32_t padding
Definition virtio.h:95
struct virtio_gpu_ctrl_hdr hdr
Definition virtio.h:91
uint8_t bar
Definition virtio.h:193
uint32_t offset
Definition virtio.h:195
uint8_t cap_len
Definition virtio.h:191
uint32_t length
Definition virtio.h:196
uint8_t cap_vndr
Definition virtio.h:189
uint8_t cap_next
Definition virtio.h:190
uint8_t cfg_type
Definition virtio.h:192