OvmfPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Virtio095.h File Reference

Data Structures

struct  VRING_AVAIL
 
struct  VRING_USED_ELEM
 
struct  VRING_USED
 
struct  VRING_DESC
 
struct  VRING
 

Macros

#define VIRTIO_SUBSYSTEM_NETWORK_CARD   1
 
#define VIRTIO_SUBSYSTEM_BLOCK_DEVICE   2
 
#define VIRTIO_SUBSYSTEM_CONSOLE   3
 
#define VIRTIO_SUBSYSTEM_ENTROPY_SOURCE   4
 
#define VIRTIO_SUBSYSTEM_MEMORY_BALLOONING   5
 
#define VIRTIO_SUBSYSTEM_IO_MEMORY   6
 
#define VIRTIO_SUBSYSTEM_RPMSG   7
 
#define VIRTIO_SUBSYSTEM_SCSI_HOST   8
 
#define VIRTIO_SUBSYSTEM_9P_TRANSPORT   9
 
#define VIRTIO_SUBSYSTEM_MAC80211_WLAN   10
 
#define VIRTIO_VENDOR_ID   0x1AF4
 
#define VIRTIO_MMIO_MAGIC   0x74726976
 
#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI   20
 
#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI_WITH_MSI_X   24
 
#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_MMIO   0x100
 
#define VIRTIO_PCI_OFFSET_DEVICE_FEATURES   0x00
 
#define VIRTIO_PCI_OFFSET_GUEST_FEATURES   0x04
 
#define VIRTIO_PCI_OFFSET_QUEUE_ADDRESS   0x08
 
#define VIRTIO_PCI_OFFSET_QUEUE_SIZE   0x0C
 
#define VIRTIO_PCI_OFFSET_QUEUE_SELECT   0x0E
 
#define VIRTIO_PCI_OFFSET_QUEUE_NOTIFY   0x10
 
#define VIRTIO_PCI_OFFSET_QUEUE_DEVICE_STATUS   0x12
 
#define VIRTIO_PCI_OFFSET_QUEUE_DEVICE_ISR   0x13
 
#define VIRTIO_MMIO_OFFSET_MAGIC   0x00
 
#define VIRTIO_MMIO_OFFSET_VERSION   0x04
 
#define VIRTIO_MMIO_OFFSET_DEVICE_ID   0x08
 
#define VIRTIO_MMIO_OFFSET_VENDOR_ID   0x0C
 
#define VIRTIO_MMIO_OFFSET_HOST_FEATURES   0x10
 
#define VIRTIO_MMIO_OFFSET_HOST_FEATURES_SEL   0x14
 
#define VIRTIO_MMIO_OFFSET_GUEST_FEATURES   0x20
 
#define VIRTIO_MMIO_OFFSET_GUEST_FEATURES_SEL   0x24
 
#define VIRTIO_MMIO_OFFSET_GUEST_PAGE_SIZE   0x28
 
#define VIRTIO_MMIO_OFFSET_QUEUE_SEL   0x30
 
#define VIRTIO_MMIO_OFFSET_QUEUE_NUM_MAX   0x34
 
#define VIRTIO_MMIO_OFFSET_QUEUE_NUM   0x38
 
#define VIRTIO_MMIO_OFFSET_QUEUE_ALIGN   0x3C
 
#define VIRTIO_MMIO_OFFSET_QUEUE_PFN   0x40
 
#define VIRTIO_MMIO_OFFSET_QUEUE_NOTIFY   0x50
 
#define VIRTIO_MMIO_OFFSET_INTERRUPT_STATUS   0x60
 
#define VIRTIO_MMIO_OFFSET_INTERRUPT_ACK   0x64
 
#define VIRTIO_MMIO_OFFSET_STATUS   0x70
 
#define VRING_AVAIL_F_NO_INTERRUPT   BIT0
 
#define VRING_USED_F_NO_NOTIFY   BIT0
 
#define VRING_DESC_F_NEXT   BIT0
 
#define VRING_DESC_F_WRITE   BIT1
 
#define VRING_DESC_F_INDIRECT   BIT2
 
#define VSTAT_ACK   BIT0
 
#define VSTAT_DRIVER   BIT1
 
#define VSTAT_DRIVER_OK   BIT2
 
#define VSTAT_FAILED   BIT7
 
#define VIRTIO_F_NOTIFY_ON_EMPTY   BIT24
 
#define VIRTIO_F_RING_INDIRECT_DESC   BIT28
 
#define VIRTIO_F_RING_EVENT_IDX   BIT29
 

Detailed Description

Generic type and macro definitions corresponding to the virtio-0.9.5 specification.

Copyright (C) 2012-2016, Red Hat, Inc. Portion of Copyright (C) 2013, ARM Ltd.

SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_MMIO   0x100
#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI   20
#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI_WITH_MSI_X   24
#define VIRTIO_F_NOTIFY_ON_EMPTY   BIT24
#define VIRTIO_F_RING_EVENT_IDX   BIT29
#define VIRTIO_F_RING_INDIRECT_DESC   BIT28
#define VIRTIO_MMIO_MAGIC   0x74726976
#define VIRTIO_MMIO_OFFSET_DEVICE_ID   0x08
#define VIRTIO_MMIO_OFFSET_GUEST_FEATURES   0x20
#define VIRTIO_MMIO_OFFSET_GUEST_FEATURES_SEL   0x24
#define VIRTIO_MMIO_OFFSET_GUEST_PAGE_SIZE   0x28
#define VIRTIO_MMIO_OFFSET_HOST_FEATURES   0x10
#define VIRTIO_MMIO_OFFSET_HOST_FEATURES_SEL   0x14
#define VIRTIO_MMIO_OFFSET_INTERRUPT_ACK   0x64
#define VIRTIO_MMIO_OFFSET_INTERRUPT_STATUS   0x60
#define VIRTIO_MMIO_OFFSET_MAGIC   0x00
#define VIRTIO_MMIO_OFFSET_QUEUE_ALIGN   0x3C
#define VIRTIO_MMIO_OFFSET_QUEUE_NOTIFY   0x50
#define VIRTIO_MMIO_OFFSET_QUEUE_NUM   0x38
#define VIRTIO_MMIO_OFFSET_QUEUE_NUM_MAX   0x34
#define VIRTIO_MMIO_OFFSET_QUEUE_PFN   0x40
#define VIRTIO_MMIO_OFFSET_QUEUE_SEL   0x30
#define VIRTIO_MMIO_OFFSET_STATUS   0x70
#define VIRTIO_MMIO_OFFSET_VENDOR_ID   0x0C
#define VIRTIO_MMIO_OFFSET_VERSION   0x04
#define VIRTIO_PCI_OFFSET_DEVICE_FEATURES   0x00
#define VIRTIO_PCI_OFFSET_GUEST_FEATURES   0x04
#define VIRTIO_PCI_OFFSET_QUEUE_ADDRESS   0x08
#define VIRTIO_PCI_OFFSET_QUEUE_DEVICE_ISR   0x13
#define VIRTIO_PCI_OFFSET_QUEUE_DEVICE_STATUS   0x12
#define VIRTIO_PCI_OFFSET_QUEUE_NOTIFY   0x10
#define VIRTIO_PCI_OFFSET_QUEUE_SELECT   0x0E
#define VIRTIO_PCI_OFFSET_QUEUE_SIZE   0x0C
#define VIRTIO_SUBSYSTEM_9P_TRANSPORT   9
#define VIRTIO_SUBSYSTEM_BLOCK_DEVICE   2
#define VIRTIO_SUBSYSTEM_CONSOLE   3
#define VIRTIO_SUBSYSTEM_ENTROPY_SOURCE   4
#define VIRTIO_SUBSYSTEM_IO_MEMORY   6
#define VIRTIO_SUBSYSTEM_MAC80211_WLAN   10
#define VIRTIO_SUBSYSTEM_MEMORY_BALLOONING   5
#define VIRTIO_SUBSYSTEM_NETWORK_CARD   1
#define VIRTIO_SUBSYSTEM_RPMSG   7
#define VIRTIO_SUBSYSTEM_SCSI_HOST   8
#define VIRTIO_VENDOR_ID   0x1AF4
#define VRING_AVAIL_F_NO_INTERRUPT   BIT0
#define VRING_DESC_F_INDIRECT   BIT2
#define VRING_DESC_F_NEXT   BIT0
#define VRING_DESC_F_WRITE   BIT1
#define VRING_USED_F_NO_NOTIFY   BIT0
#define VSTAT_ACK   BIT0
#define VSTAT_DRIVER   BIT1
#define VSTAT_DRIVER_OK   BIT2
#define VSTAT_FAILED   BIT7