diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2014-12-11 06:59:51 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2015-01-21 00:58:53 -0500 |
commit | 1fcf0512c9c870e78e1c9898ecb9458593403466 (patch) | |
tree | 002fa2a03688453e491f2224c31a96c1b3a47be6 /include/uapi | |
parent | 71d70c266c84c4e708bb36b20d0c0a29af42821c (diff) |
virtio_pci: modern driver
Lightly tested against qemu.
One thing *not* implemented here is separate mappings
for descriptor/avail/used rings. That's nice to have,
will be done later after we have core support.
This also exposes the PCI layout to userspace, and
adds macros for PCI layout offsets:
QEMU wants it, so why not? Trust, but verify.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/virtio_pci.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h index 4e054235358f..a2b2e1353e30 100644 --- a/include/uapi/linux/virtio_pci.h +++ b/include/uapi/linux/virtio_pci.h | |||
@@ -117,10 +117,11 @@ struct virtio_pci_cap { | |||
117 | __u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */ | 117 | __u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */ |
118 | __u8 cap_next; /* Generic PCI field: next ptr. */ | 118 | __u8 cap_next; /* Generic PCI field: next ptr. */ |
119 | __u8 cap_len; /* Generic PCI field: capability length */ | 119 | __u8 cap_len; /* Generic PCI field: capability length */ |
120 | __u8 type_and_bar; /* Upper 3 bits: bar. | 120 | __u8 cfg_type; /* Identifies the structure. */ |
121 | * Lower 3 is VIRTIO_PCI_CAP_*_CFG. */ | 121 | __u8 bar; /* Where to find it. */ |
122 | __u8 padding[3]; /* Pad to full dword. */ | ||
122 | __le32 offset; /* Offset within bar. */ | 123 | __le32 offset; /* Offset within bar. */ |
123 | __le32 length; /* Length. */ | 124 | __le32 length; /* Length of the structure, in bytes. */ |
124 | }; | 125 | }; |
125 | 126 | ||
126 | #define VIRTIO_PCI_CAP_BAR_SHIFT 5 | 127 | #define VIRTIO_PCI_CAP_BAR_SHIFT 5 |