History

virtio: Implement get_shm_region for PCI transport

On PCI the shm regions are found using capability entries; find a region by searching for the capability.

Sebastien Boeuf committed 6 years ago

Commit 0dd4ff91 parent 5bfe37c2 files · +105 −1Browse files

Showing the changes to include/uapi (1 of 2 files). Show all

Unified · Split

include/uapi/linux/virtio_pci.h+10−1
@@ -113,6 +113,8 @@ · 112 unmodified lines
113113 #define VIRTIO_PCI_CAP_DEVICE_CFG 4
114114 /* PCI configuration access */
115115 #define VIRTIO_PCI_CAP_PCI_CFG 5
116+/* Additional shared memory capability */
117+#define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
116118
117119 /* This is the PCI capability header: */
118120 struct virtio_pci_cap {
@@ -121,11 +123,18 @@ struct virtio_pci_cap { · 2 unmodified lines
121123 __u8 cap_len; /* Generic PCI field: capability length */
122124 __u8 cfg_type; /* Identifies the structure. */
123125 __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. */
125128 __le32 offset; /* Offset within bar. */
126129 __le32 length; /* Length of the structure, in bytes. */
127130 };
128131
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+
129138 struct virtio_pci_notify_cap {
130139 struct virtio_pci_cap cap;
131140 __le32 notify_off_multiplier; /* Multiplier for queue_notify_off. */