
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@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 :|