| .. | .. |
|---|
| 113 | 113 | #define VIRTIO_PCI_CAP_DEVICE_CFG 4 |
|---|
| 114 | 114 | /* PCI configuration access */ |
|---|
| 115 | 115 | #define VIRTIO_PCI_CAP_PCI_CFG 5 |
|---|
| 116 | +/* Additional shared memory capability */ |
|---|
| 117 | +#define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8 |
|---|
| 116 | 118 | |
|---|
| 117 | 119 | /* This is the PCI capability header: */ |
|---|
| 118 | 120 | struct virtio_pci_cap { |
|---|
| .. | .. |
|---|
| 121 | 123 | __u8 cap_len; /* Generic PCI field: capability length */ |
|---|
| 122 | 124 | __u8 cfg_type; /* Identifies the structure. */ |
|---|
| 123 | 125 | __u8 bar; /* Where to find it. */ |
|---|
| 124 | | - __u8 padding[3]; /* Pad to full dword. */ |
|---|
| 126 | + __u8 id; /* Multiple capabilities of the same type */ |
|---|
| 127 | + __u8 padding[2]; /* Pad to full dword. */ |
|---|
| 125 | 128 | __le32 offset; /* Offset within bar. */ |
|---|
| 126 | 129 | __le32 length; /* Length of the structure, in bytes. */ |
|---|
| 127 | 130 | }; |
|---|
| 128 | 131 | |
|---|
| 132 | +struct virtio_pci_cap64 { |
|---|
| 133 | + struct virtio_pci_cap cap; |
|---|
| 134 | + __le32 offset_hi; /* Most sig 32 bits of offset */ |
|---|
| 135 | + __le32 length_hi; /* Most sig 32 bits of length */ |
|---|
| 136 | +}; |
|---|
| 137 | + |
|---|
| 129 | 138 | struct virtio_pci_notify_cap { |
|---|
| 130 | 139 | struct virtio_pci_cap cap; |
|---|
| 131 | 140 | __le32 notify_off_multiplier; /* Multiplier for queue_notify_off. */ |
|---|