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(a)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.
Regards,
Daniel
--
|: