The Xen devices have a formal device ID value, which is used in Xen bus. We should record that in the <product-id> field and add a corresponding <product> string. Change the device ID URIs so that they are of the format http://xen.org/xen/$PRODUCT-ID Finally add various devices that were missing. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- data/devices/xen.xml.in | 61 +++++++++++++++++++++++++++++++++++----- data/hypervisors/rhel-xen.xml.in | 2 +- data/hypervisors/xen.xml.in | 8 +++--- data/schemas/libosinfo.rng | 11 +++++++- 4 files changed, 69 insertions(+), 13 deletions(-) diff --git a/data/devices/xen.xml.in b/data/devices/xen.xml.in index 8065fec..d484ac1 100644 --- a/data/devices/xen.xml.in +++ b/data/devices/xen.xml.in @@ -1,28 +1,75 @@ <!-- Xen 3.x / 4.x paravirt devices --> <libosinfo version="0.0.1"> - <device id="http://xen.org/devices/block"> + <device id="http://xen.org/xen/vbd"> <class>block</class> <bus-type>xen</bus-type> - <name>xen-block</name> + <product>Virtual Block Device</product> + <product-id>vbd</product-id> + <name>xen-vbd</name> </device> - <device id="http://xen.org/devices/net"> + <device id="http://xen.org/xen/vscsi"> + <class>block</class> + <bus-type>xen</bus-type> + <product>Virtual SCSI</product> + <product-id>vscsi</product-id> + <name>xen-vscsi</name> + </device> + + <device id="http://xen.org/xen/vif"> <class>net</class> <bus-type>xen</bus-type> - <name>xen-net</name> + <product>Virtual Interface</product> + <product-id>vif</product-id> + <name>xen-vif</name> </device> - <device id="http://xen.org/devices/console"> + <device id="http://xen.org/xen/console"> <class>console</class> <bus-type>xen</bus-type> + <product>Virtual Console</product> + <product-id>console</product-id> <name>xen-console</name> </device> - <device id="http://xen.org/devices/framebuffer"> + <device id="http://xen.org/xen/vfb"> <class>video</class> <bus-type>xen</bus-type> - <name>xen-pvfb</name> + <product>Virtual FrameBuffer</product> + <product-id>vfb</product-id> + <name>xen-vfb</name> + </device> + + <device id="http://xen.org/xen/vtpm"> + <bus-type>xen</bus-type> + <product>Virtual TPM</product> + <product-id>vtpm</product-id> + <name>xen-vtpm</name> + </device> + + <device id="http://xen.org/xen/vkbd"> + <class>input</class> + <bus-type>xen</bus-type> + <product>Virtual Keyboard</product> + <product-id>vkbd</product-id> + <name>xen-vkbd</name> + </device> + + <device id="http://xen.org/xen/vkbd"> + <class>input</class> + <bus-type>xen</bus-type> + <product>Virtual Keyboard</product> + <product-id>vkbd</product-id> + <name>xen-vkbd</name> + </device> + + <device id="http://xen.org/xen/pci"> + <class>input</class> + <bus-type>xen</bus-type> + <product>Virtual PCI</product> + <product-id>pci</product-id> + <name>xen-pci</name> </device> </libosinfo> diff --git a/data/hypervisors/rhel-xen.xml.in b/data/hypervisors/rhel-xen.xml.in index 5237482..a14103f 100644 --- a/data/hypervisors/rhel-xen.xml.in +++ b/data/hypervisors/rhel-xen.xml.in @@ -9,7 +9,7 @@ <derives-from id="http://xen.org/xen/3.0.3"/> <devices> - <device id="http://xen.org/devices/framebuffer"/> + <device id="http://xen.org/xen/vfb"/> </devices> </platform> diff --git a/data/hypervisors/xen.xml.in b/data/hypervisors/xen.xml.in index 8a88b7a..8528266 100644 --- a/data/hypervisors/xen.xml.in +++ b/data/hypervisors/xen.xml.in @@ -8,9 +8,9 @@ <version>3.0.2</version> <devices> - <device id="http://xen.org/devices/block"/> - <device id="http://xen.org/devices/net"/> - <device id="http://xen.org/devices/console"/> + <device id="http://xen.org/xen/vbd"/> + <device id="http://xen.org/xen/vif"/> + <device id="http://xen.org/xen/console"/> </devices> </platform> @@ -31,7 +31,7 @@ <upgrades id="http://xen.org/xen/3.0.3"/> <devices> - <device id="http://xen.org/devices/framebuffer"/> + <device id="http://xen.org/xen/vfb"/> </devices> </platform> diff --git a/data/schemas/libosinfo.rng b/data/schemas/libosinfo.rng index b36eef0..f957abc 100644 --- a/data/schemas/libosinfo.rng +++ b/data/schemas/libosinfo.rng @@ -108,7 +108,10 @@ </optional> <optional> <element name='product-id'> - <ref name='hexid'/> + <choice> + <ref name='hexid'/> + <ref name='alpha'/> + </choice> </element> </optional> <optional> @@ -748,6 +751,12 @@ </data> </define> + <define name='alpha'> + <data type="string"> + <param name="pattern">[a-zA-Z]+</param> + </data> + </define> + <define name='bool'> <choice> <data type='string'> -- 2.4.3 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo