xv6-simplified 0.1
简化版xv6
Loading...
Searching...
No Matches
Data Structures | Macros
virtio.h File Reference

定义virtio设备,包括mmio接口,virtio描述符 More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  virtq_desc
 
struct  virtq_avail
 
struct  virtq_used_elem
 
struct  virtq_used
 
struct  virtio_blk_req
 

Macros

#define VIRTIO_MMIO_MAGIC_VALUE   0x000
 
#define VIRTIO_MMIO_VERSION   0x004
 
#define VIRTIO_MMIO_DEVICE_ID   0x008
 
#define VIRTIO_MMIO_VENDOR_ID   0x00c
 
#define VIRTIO_MMIO_DEVICE_FEATURES   0x010
 
#define VIRTIO_MMIO_DRIVER_FEATURES   0x020
 
#define VIRTIO_MMIO_QUEUE_SEL   0x030
 
#define VIRTIO_MMIO_QUEUE_NUM_MAX   0x034
 
#define VIRTIO_MMIO_QUEUE_NUM   0x038
 
#define VIRTIO_MMIO_QUEUE_READY   0x044
 
#define VIRTIO_MMIO_QUEUE_NOTIFY   0x050
 
#define VIRTIO_MMIO_INTERRUPT_STATUS   0x060
 
#define VIRTIO_MMIO_INTERRUPT_ACK   0x064
 
#define VIRTIO_MMIO_STATUS   0x070
 
#define VIRTIO_MMIO_QUEUE_DESC_LOW   0x080
 
#define VIRTIO_MMIO_QUEUE_DESC_HIGH   0x084
 
#define VIRTIO_MMIO_DRIVER_DESC_LOW   0x090
 
#define VIRTIO_MMIO_DRIVER_DESC_HIGH   0x094
 
#define VIRTIO_MMIO_DEVICE_DESC_LOW   0x0a0
 
#define VIRTIO_MMIO_DEVICE_DESC_HIGH   0x0a4
 
#define VIRTIO_CONFIG_S_ACKNOWLEDGE   1
 
#define VIRTIO_CONFIG_S_DRIVER   2
 
#define VIRTIO_CONFIG_S_DRIVER_OK   4
 
#define VIRTIO_CONFIG_S_FEATURES_OK   8
 
#define VIRTIO_BLK_F_RO   5 /* Disk is read-only */
 
#define VIRTIO_BLK_F_SCSI   7 /* Supports scsi command passthru */
 
#define VIRTIO_BLK_F_CONFIG_WCE   11 /* Writeback mode available in config */
 
#define VIRTIO_BLK_F_MQ   12 /* support more than one vq */
 
#define VIRTIO_F_ANY_LAYOUT   27
 
#define VIRTIO_RING_F_INDIRECT_DESC   28
 
#define VIRTIO_RING_F_EVENT_IDX   29
 
#define NUM   8
 
#define VRING_DESC_F_NEXT   1
 
#define VRING_DESC_F_WRITE   2
 
#define VIRTIO_BLK_T_IN   0
 
#define VIRTIO_BLK_T_OUT   1
 

Detailed Description

定义virtio设备,包括mmio接口,virtio描述符

Date
23.04.30
Author
xin

参考规范:../../other/工具/QEMU/virtio-v1.1.pdf

Version
0.1 @status Stable

Macro Definition Documentation

◆ NUM

#define NUM   8

◆ VIRTIO_BLK_F_CONFIG_WCE

#define VIRTIO_BLK_F_CONFIG_WCE   11 /* Writeback mode available in config */

◆ VIRTIO_BLK_F_MQ

#define VIRTIO_BLK_F_MQ   12 /* support more than one vq */

◆ VIRTIO_BLK_F_RO

#define VIRTIO_BLK_F_RO   5 /* Disk is read-only */

◆ VIRTIO_BLK_F_SCSI

#define VIRTIO_BLK_F_SCSI   7 /* Supports scsi command passthru */

◆ VIRTIO_BLK_T_IN

#define VIRTIO_BLK_T_IN   0

◆ VIRTIO_BLK_T_OUT

#define VIRTIO_BLK_T_OUT   1

◆ VIRTIO_CONFIG_S_ACKNOWLEDGE

#define VIRTIO_CONFIG_S_ACKNOWLEDGE   1

◆ VIRTIO_CONFIG_S_DRIVER

#define VIRTIO_CONFIG_S_DRIVER   2

◆ VIRTIO_CONFIG_S_DRIVER_OK

#define VIRTIO_CONFIG_S_DRIVER_OK   4

◆ VIRTIO_CONFIG_S_FEATURES_OK

#define VIRTIO_CONFIG_S_FEATURES_OK   8

◆ VIRTIO_F_ANY_LAYOUT

#define VIRTIO_F_ANY_LAYOUT   27

◆ VIRTIO_MMIO_DEVICE_DESC_HIGH

#define VIRTIO_MMIO_DEVICE_DESC_HIGH   0x0a4

◆ VIRTIO_MMIO_DEVICE_DESC_LOW

#define VIRTIO_MMIO_DEVICE_DESC_LOW   0x0a0

◆ VIRTIO_MMIO_DEVICE_FEATURES

#define VIRTIO_MMIO_DEVICE_FEATURES   0x010

◆ VIRTIO_MMIO_DEVICE_ID

#define VIRTIO_MMIO_DEVICE_ID   0x008

◆ VIRTIO_MMIO_DRIVER_DESC_HIGH

#define VIRTIO_MMIO_DRIVER_DESC_HIGH   0x094

◆ VIRTIO_MMIO_DRIVER_DESC_LOW

#define VIRTIO_MMIO_DRIVER_DESC_LOW   0x090

◆ VIRTIO_MMIO_DRIVER_FEATURES

#define VIRTIO_MMIO_DRIVER_FEATURES   0x020

◆ VIRTIO_MMIO_INTERRUPT_ACK

#define VIRTIO_MMIO_INTERRUPT_ACK   0x064

◆ VIRTIO_MMIO_INTERRUPT_STATUS

#define VIRTIO_MMIO_INTERRUPT_STATUS   0x060

◆ VIRTIO_MMIO_MAGIC_VALUE

#define VIRTIO_MMIO_MAGIC_VALUE   0x000

◆ VIRTIO_MMIO_QUEUE_DESC_HIGH

#define VIRTIO_MMIO_QUEUE_DESC_HIGH   0x084

◆ VIRTIO_MMIO_QUEUE_DESC_LOW

#define VIRTIO_MMIO_QUEUE_DESC_LOW   0x080

◆ VIRTIO_MMIO_QUEUE_NOTIFY

#define VIRTIO_MMIO_QUEUE_NOTIFY   0x050

◆ VIRTIO_MMIO_QUEUE_NUM

#define VIRTIO_MMIO_QUEUE_NUM   0x038

◆ VIRTIO_MMIO_QUEUE_NUM_MAX

#define VIRTIO_MMIO_QUEUE_NUM_MAX   0x034

◆ VIRTIO_MMIO_QUEUE_READY

#define VIRTIO_MMIO_QUEUE_READY   0x044

◆ VIRTIO_MMIO_QUEUE_SEL

#define VIRTIO_MMIO_QUEUE_SEL   0x030

◆ VIRTIO_MMIO_STATUS

#define VIRTIO_MMIO_STATUS   0x070

◆ VIRTIO_MMIO_VENDOR_ID

#define VIRTIO_MMIO_VENDOR_ID   0x00c

◆ VIRTIO_MMIO_VERSION

#define VIRTIO_MMIO_VERSION   0x004

◆ VIRTIO_RING_F_EVENT_IDX

#define VIRTIO_RING_F_EVENT_IDX   29

◆ VIRTIO_RING_F_INDIRECT_DESC

#define VIRTIO_RING_F_INDIRECT_DESC   28

◆ VRING_DESC_F_NEXT

#define VRING_DESC_F_NEXT   1

◆ VRING_DESC_F_WRITE

#define VRING_DESC_F_WRITE   2