[libvirt] [PATCH v2 2/2] nodedev: Expose PCI header type
Martin Kletzander
mkletzan at redhat.com
Thu Mar 17 16:17:29 UTC 2016
On Thu, Mar 17, 2016 at 04:07:25PM +0000, Daniel P. Berrange wrote:
>On Thu, Mar 17, 2016 at 04:05:18PM +0000, Daniel P. Berrange wrote:
>> On Thu, Mar 17, 2016 at 04:51:06PM +0100, Martin Kletzander wrote:
>> > If we expose this information, which is one byte in every PCI config
>> > file, we let all mgmt apps know whether the device itself is an endpoint
>> > or not so it's easier for them to decide whether such device can be
>> > passed through into a VM (endpoint) or not (*-bridge).
>> >
>> > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1317531
>> >
>> > Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>> > ---
>> > docs/schemas/nodedev.rng | 12 ++++++++
>> > src/conf/node_device_conf.c | 24 ++++++++++++++++
>> > src/conf/node_device_conf.h | 1 +
>> > src/libvirt_private.syms | 3 ++
>> > src/node_device/node_device_udev.c | 3 ++
>> > src/util/virpci.c | 33 ++++++++++++++++++++++
>> > src/util/virpci.h | 12 ++++++++
>> > .../pci_0000_00_02_0_header_type.xml | 16 +++++++++++
>> > .../pci_0000_00_1c_0_header_type.xml | 20 +++++++++++++
>> > tests/nodedevxml2xmltest.c | 2 ++
>> > 10 files changed, 126 insertions(+)
>> > create mode 100644 tests/nodedevschemadata/pci_0000_00_02_0_header_type.xml
>> > create mode 100644 tests/nodedevschemadata/pci_0000_00_1c_0_header_type.xml
>> >
>> > diff --git a/docs/schemas/nodedev.rng b/docs/schemas/nodedev.rng
>> > index 744dccdf5fa9..33637546e48f 100644
>> > --- a/docs/schemas/nodedev.rng
>> > +++ b/docs/schemas/nodedev.rng
>> > @@ -169,6 +169,18 @@
>> > </optional>
>> >
>> > <optional>
>> > + <element name='header'>
>> > + <attribute name='type'>
>> > + <choice>
>> > + <value>endpoint</value>
>> > + <value>pci-bridge</value>
>> > + <value>cardbus-bridge</value>
>> > + </choice>
>> > + </attribute>
>> > + </element>
>> > + </optional>
>>
>> As before, I think we should be using a capability to express this
>> not creating a new way to express capabilities without calling
>> them capabilities.
>
>Oh and I should say I don't think we need to express 'endpoint' as
>a capability. It would suffice to justhave
>
> <capability type="pci">
> ...
> <capability type="pci-bridge"/>
> ...
> </capability>
>
>or
>
> <capability type="pci">
> ...
> <capability type="cardbus-bridge"/>
> ...
> </capability>
>
>Any device without one of those two would implicitly be an end point
>
Oh, so you meant capability *inside* the PCI one. I misunderstood that,
that makes sense. I'll send a v3 for that.
Martin
>Regards,
>Daniel
>--
>|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
>|: http://libvirt.org -o- http://virt-manager.org :|
>|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
>|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160317/89835418/attachment-0001.sig>
More information about the libvir-list
mailing list