X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fdevices%2Flnx_virtio_pci.h;h=5ecf69441708af8c3879e5eafa730bc36ab3766f;hp=9e6e69f76f227c2e7c9a322491bbccf56b01c36e;hb=abccb1c104baffd2bfd901cf8b3ed48b44615dd4;hpb=217e4d9dbb18e7c8dfd26f9fd74770614dd2024c diff --git a/palacios/include/devices/lnx_virtio_pci.h b/palacios/include/devices/lnx_virtio_pci.h index 9e6e69f..5ecf694 100644 --- a/palacios/include/devices/lnx_virtio_pci.h +++ b/palacios/include/devices/lnx_virtio_pci.h @@ -34,9 +34,12 @@ #define VIRTIO_BLOCK_DEV_ID 0x1001 #define VIRTIO_BALLOON_DEV_ID 0x1002 #define VIRTIO_CONSOLE_DEV_ID 0x1003 +#define VIRTIO_SYMBIOTIC_DEV_ID 0x100a +#define VIRTIO_NET_SUBDEVICE_ID 1 #define VIRTIO_BLOCK_SUBDEVICE_ID 2 #define VIRTIO_BALLOON_SUBDEVICE_ID 5 +#define VIRTIO_SYMBIOTIC_SUBDEVICE_ID 10 #define HOST_FEATURES_PORT 0 @@ -67,6 +70,13 @@ /* This means don't interrupt guest when buffer consumed. */ #define VIRTIO_NO_IRQ_FLAG 0x1 + +/* ISR Flags */ +#define VIRTIO_ISR_ACTIVE 0x1 +#define VIRTIO_ISR_CFG_CHANGED 0x2 + + + /* The virtio configuration space is a hybrid io/memory mapped model * All IO is done via IO port accesses * The IO ports access fields in a virtio data structure, and the base io port @@ -118,6 +128,8 @@ struct virtio_queue { uint16_t queue_size; uint16_t cur_avail_idx; + uint16_t last_avail_idx; + bool idx_overflow; addr_t ring_desc_addr; addr_t ring_avail_addr;