[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio] [PATCH] virtio-pci: access device using config
On Tue, Nov 05, 2013 at 04:57:29PM +1030, Rusty Russell wrote: > "Michael S. Tsirkin" <mst@redhat.com> writes: > > VIRTIO-39. > > We can discuss this on the call, but I don't like this. > > PXE boot style environments will have to handle memory bars for modern > PCIE devices. Why should virtio be special? > > Cheers, > Rusty. Didn't we discuss this requirement many times already? AFAIK e.g. disk interrupt handler is problematic like this too. So all disks must have a way to access them with config. CC hpa who confirmed this is a hard requirement, in the past. Cc gleb who wrote virtio blk bios drivers. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > --- > > virtio-v1.0-wd01-part1-specification.txt | 26 ++++++++++++++++++++++++++ > > 1 file changed, 26 insertions(+) > > > > diff --git a/virtio-v1.0-wd01-part1-specification.txt b/virtio-v1.0-wd01-part1-specification.txt > > index ce79c05..d71c021 100644 > > --- a/virtio-v1.0-wd01-part1-specification.txt > > +++ b/virtio-v1.0-wd01-part1-specification.txt > > @@ -1038,6 +1038,8 @@ cfg_type > > #define VIRTIO_PCI_CAP_ISR_CFG 3 > > /* Device specific configuration */ > > #define VIRTIO_PCI_CAP_DEVICE_CFG 4 > > + /* PCI configuration access */ > > + #define VIRTIO_PCI_CAP_PCI_CFG 5 > > > > Any other value - reserved for future use. Drivers must > > ignore any vendor-specific capability structure which has > > @@ -1101,6 +1103,30 @@ notify_off_multiplier > > If notify_off_multiplier is 0, all virtqueues use the same address in > > the Notifications structure! > > > > +If cfg_type is VIRTIO_PCI_CAP_PCI_CFG the fields bar, offset and length are RW > > +and this structure is immediately followed by an additional field: > > + > > +struct virtio_pci_cfg_cap { > > + __u8 pci_cfg_data[4]; /* Data for BAR access. */ > > +}; > > + > > +pci_cfg_data > > + > > + This RW field allows an indirect access to any BAR on the > > + device using PCI configuration accesses. > > + > > + The BAR to access is selected using the bar field. > > + The length of the access is specified by the length > > + field, which can be set to 1, 2 and 4. > > + The offset within the BAR is specified by the offset > > + field, which must be aligned to length bytes. > > + > > + After this field is written by driver, the first length > > + bytes in pci_cfg_data are written at the selected > > + offset in the selected BAR. > > + > > + When this field is read by driver, length bytes at the > > + selected offset in the selected BAR are read into pci_cfg_data. > > > > 100.100.1.3.1.1. Legacy Interface: A Note on Device Layout Detection > > ------------------------------- > > -- > > MST > > > > --------------------------------------------------------------------- > > To unsubscribe from this mail list, you must leave the OASIS TC that > > generates this mail. Follow this link to all your TCs in OASIS at: > > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]