>> Added macro definition for VIRTIO_PCI_CAP_VENDOR_CFG to identify the >PCI >> vendor data type in the virtio_pci_cap structure. Defined a new struct >> virtio_pci_vndr_data for the vendor data capability header as per the >> specification. >> >> Signed-off-by: Shijith Thotton <sthotton@xxxxxxxxxxx> >> --- >> include/uapi/linux/virtio_pci.h | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h >> index a8208492e822..1f3ea5d2a6af 100644 >> --- a/include/uapi/linux/virtio_pci.h >> +++ b/include/uapi/linux/virtio_pci.h >> @@ -115,6 +115,8 @@ >> #define VIRTIO_PCI_CAP_PCI_CFG 5 >> /* Additional shared memory capability */ >> #define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8 >> +/* PCI vendor data configuration */ >> +#define VIRTIO_PCI_CAP_VENDOR_CFG 9 >> >> /* This is the PCI capability header: */ >> struct virtio_pci_cap { >> @@ -129,6 +131,15 @@ struct virtio_pci_cap { >> __le32 length; /* Length of the structure, in bytes. */ >> }; >> >> +/* This is the PCI vendor data capability header: */ >> +struct virtio_pci_vndr_data { >> + __u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */ >> + __u8 cap_next; /* Generic PCI field: next ptr. */ >> + __u8 cap_len; /* Generic PCI field: capability length */ >> + __u8 cfg_type; /* Identifies the structure. */ >> + __u16 vendor_id; /* Identifies the vendor-specific format. */ >> +}; > >Nit: I would have the following comments from the virtio spec: > >""" > /* For Vendor Definition */ > /* Pads structure to a multiple of 4 bytes */ > /* Reads must not have side effects */ >""" I will add the comments. Thanks, Shijith