[Libosinfo] [PATCH v2 06/52] data: sanitize Xen device ID URIs and add missing devs
Daniel P. Berrange
berrange at redhat.com
Mon Oct 5 15:31:10 UTC 2015
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 at redhat.com>
---
data/devices/xen.xml.in | 61 +++++++++++++++++++++++++++++++++++++++------
data/hypervisors/xen.xml.in | 8 +++---
data/schemas/libosinfo.rng | 11 +++++++-
3 files changed, 68 insertions(+), 12 deletions(-)
diff --git a/data/devices/xen.xml.in b/data/devices/xen.xml.in
index 8065fec..451d71d 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>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/xen.xml.in b/data/hypervisors/xen.xml.in
index 947610d..86c49d4 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
More information about the Libosinfo
mailing list