TianoCore EDK2 master
Loading...
Searching...
No Matches
Virtio095.h File Reference
#include <Base.h>

Go to the source code of this file.

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

Definition in file Virtio095.h.

Macro Definition Documentation

◆ VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_MMIO

#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_MMIO   0x100

Definition at line 43 of file Virtio095.h.

◆ VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI

#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI   20

Definition at line 41 of file Virtio095.h.

◆ VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI_WITH_MSI_X

#define VIRTIO_DEVICE_SPECIFIC_CONFIGURATION_OFFSET_PCI_WITH_MSI_X   24

Definition at line 42 of file Virtio095.h.

◆ VIRTIO_F_NOTIFY_ON_EMPTY

#define VIRTIO_F_NOTIFY_ON_EMPTY   BIT24

Definition at line 161 of file Virtio095.h.

◆ VIRTIO_F_RING_EVENT_IDX

#define VIRTIO_F_RING_EVENT_IDX   BIT29

Definition at line 163 of file Virtio095.h.

◆ VIRTIO_F_RING_INDIRECT_DESC

#define VIRTIO_F_RING_INDIRECT_DESC   BIT28

Definition at line 162 of file Virtio095.h.

◆ VIRTIO_MMIO_MAGIC

#define VIRTIO_MMIO_MAGIC   0x74726976

Definition at line 36 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_DEVICE_ID

#define VIRTIO_MMIO_OFFSET_DEVICE_ID   0x08

Definition at line 62 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_GUEST_FEATURES

#define VIRTIO_MMIO_OFFSET_GUEST_FEATURES   0x20

Definition at line 66 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_GUEST_FEATURES_SEL

#define VIRTIO_MMIO_OFFSET_GUEST_FEATURES_SEL   0x24

Definition at line 67 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_GUEST_PAGE_SIZE

#define VIRTIO_MMIO_OFFSET_GUEST_PAGE_SIZE   0x28

Definition at line 68 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_HOST_FEATURES

#define VIRTIO_MMIO_OFFSET_HOST_FEATURES   0x10

Definition at line 64 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_HOST_FEATURES_SEL

#define VIRTIO_MMIO_OFFSET_HOST_FEATURES_SEL   0x14

Definition at line 65 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_INTERRUPT_ACK

#define VIRTIO_MMIO_OFFSET_INTERRUPT_ACK   0x64

Definition at line 76 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_INTERRUPT_STATUS

#define VIRTIO_MMIO_OFFSET_INTERRUPT_STATUS   0x60

Definition at line 75 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_MAGIC

#define VIRTIO_MMIO_OFFSET_MAGIC   0x00

Definition at line 60 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_QUEUE_ALIGN

#define VIRTIO_MMIO_OFFSET_QUEUE_ALIGN   0x3C

Definition at line 72 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_QUEUE_NOTIFY

#define VIRTIO_MMIO_OFFSET_QUEUE_NOTIFY   0x50

Definition at line 74 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_QUEUE_NUM

#define VIRTIO_MMIO_OFFSET_QUEUE_NUM   0x38

Definition at line 71 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_QUEUE_NUM_MAX

#define VIRTIO_MMIO_OFFSET_QUEUE_NUM_MAX   0x34

Definition at line 70 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_QUEUE_PFN

#define VIRTIO_MMIO_OFFSET_QUEUE_PFN   0x40

Definition at line 73 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_QUEUE_SEL

#define VIRTIO_MMIO_OFFSET_QUEUE_SEL   0x30

Definition at line 69 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_STATUS

#define VIRTIO_MMIO_OFFSET_STATUS   0x70

Definition at line 77 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_VENDOR_ID

#define VIRTIO_MMIO_OFFSET_VENDOR_ID   0x0C

Definition at line 63 of file Virtio095.h.

◆ VIRTIO_MMIO_OFFSET_VERSION

#define VIRTIO_MMIO_OFFSET_VERSION   0x04

Definition at line 61 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_DEVICE_FEATURES

#define VIRTIO_PCI_OFFSET_DEVICE_FEATURES   0x00

Definition at line 48 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_GUEST_FEATURES

#define VIRTIO_PCI_OFFSET_GUEST_FEATURES   0x04

Definition at line 49 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_QUEUE_ADDRESS

#define VIRTIO_PCI_OFFSET_QUEUE_ADDRESS   0x08

Definition at line 50 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_QUEUE_DEVICE_ISR

#define VIRTIO_PCI_OFFSET_QUEUE_DEVICE_ISR   0x13

Definition at line 55 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_QUEUE_DEVICE_STATUS

#define VIRTIO_PCI_OFFSET_QUEUE_DEVICE_STATUS   0x12

Definition at line 54 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_QUEUE_NOTIFY

#define VIRTIO_PCI_OFFSET_QUEUE_NOTIFY   0x10

Definition at line 53 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_QUEUE_SELECT

#define VIRTIO_PCI_OFFSET_QUEUE_SELECT   0x0E

Definition at line 52 of file Virtio095.h.

◆ VIRTIO_PCI_OFFSET_QUEUE_SIZE

#define VIRTIO_PCI_OFFSET_QUEUE_SIZE   0x0C

Definition at line 51 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_9P_TRANSPORT

#define VIRTIO_SUBSYSTEM_9P_TRANSPORT   9

Definition at line 29 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_BLOCK_DEVICE

#define VIRTIO_SUBSYSTEM_BLOCK_DEVICE   2

Definition at line 22 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_CONSOLE

#define VIRTIO_SUBSYSTEM_CONSOLE   3

Definition at line 23 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_ENTROPY_SOURCE

#define VIRTIO_SUBSYSTEM_ENTROPY_SOURCE   4

Definition at line 24 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_IO_MEMORY

#define VIRTIO_SUBSYSTEM_IO_MEMORY   6

Definition at line 26 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_MAC80211_WLAN

#define VIRTIO_SUBSYSTEM_MAC80211_WLAN   10

Definition at line 30 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_MEMORY_BALLOONING

#define VIRTIO_SUBSYSTEM_MEMORY_BALLOONING   5

Definition at line 25 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_NETWORK_CARD

#define VIRTIO_SUBSYSTEM_NETWORK_CARD   1

Definition at line 21 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_RPMSG

#define VIRTIO_SUBSYSTEM_RPMSG   7

Definition at line 27 of file Virtio095.h.

◆ VIRTIO_SUBSYSTEM_SCSI_HOST

#define VIRTIO_SUBSYSTEM_SCSI_HOST   8

Definition at line 28 of file Virtio095.h.

◆ VIRTIO_VENDOR_ID

#define VIRTIO_VENDOR_ID   0x1AF4

Definition at line 35 of file Virtio095.h.

◆ VRING_AVAIL_F_NO_INTERRUPT

#define VRING_AVAIL_F_NO_INTERRUPT   BIT0

Definition at line 96 of file Virtio095.h.

◆ VRING_DESC_F_INDIRECT

#define VRING_DESC_F_INDIRECT   BIT2

Definition at line 130 of file Virtio095.h.

◆ VRING_DESC_F_NEXT

#define VRING_DESC_F_NEXT   BIT0

Definition at line 128 of file Virtio095.h.

◆ VRING_DESC_F_WRITE

#define VRING_DESC_F_WRITE   BIT1

Definition at line 129 of file Virtio095.h.

◆ VRING_USED_F_NO_NOTIFY

#define VRING_USED_F_NO_NOTIFY   BIT0

Definition at line 109 of file Virtio095.h.

◆ VSTAT_ACK

#define VSTAT_ACK   BIT0

Definition at line 153 of file Virtio095.h.

◆ VSTAT_DRIVER

#define VSTAT_DRIVER   BIT1

Definition at line 154 of file Virtio095.h.

◆ VSTAT_DRIVER_OK

#define VSTAT_DRIVER_OK   BIT2

Definition at line 155 of file Virtio095.h.

◆ VSTAT_FAILED

#define VSTAT_FAILED   BIT7

Definition at line 156 of file Virtio095.h.