summaryrefslogtreecommitdiffstats
path: root/src/main/resources/libvirt/rng/nodedev.rng
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/libvirt/rng/nodedev.rng')
-rw-r--r--src/main/resources/libvirt/rng/nodedev.rng151
1 files changed, 133 insertions, 18 deletions
diff --git a/src/main/resources/libvirt/rng/nodedev.rng b/src/main/resources/libvirt/rng/nodedev.rng
index 777227c..6299c52 100644
--- a/src/main/resources/libvirt/rng/nodedev.rng
+++ b/src/main/resources/libvirt/rng/nodedev.rng
@@ -78,6 +78,7 @@
<ref name="capusbdev"/>
<ref name="capusbinterface"/>
<ref name="capnet"/>
+ <ref name="capscsigeneric"/>
<ref name="capscsihost"/>
<ref name="capscsitarget"/>
<ref name="capscsi"/>
@@ -223,6 +224,10 @@
</optional>
<optional>
+ <ref name="vpd"/>
+ </optional>
+
+ <optional>
<element name="iommuGroup">
<attribute name="number">
<ref name="unsignedInt"/>
@@ -411,7 +416,7 @@
<define name="capsvports">
<attribute name="type">
- <value>vports_ops</value>
+ <value>vport_ops</value>
</attribute>
<element name="max_vports">
<ref name="unsignedInt"/>
@@ -421,6 +426,16 @@
</element>
</define>
+ <define name="capscsigeneric">
+ <attribute name="type">
+ <value>scsi_generic</value>
+ </attribute>
+
+ <element name='char'>
+ <text/>
+ </element>
+ </define>
+
<define name="capscsihost">
<attribute name="type">
<value>scsi_host</value>
@@ -432,7 +447,7 @@
<optional>
<element name="unique_id">
- <ref name="positiveInteger"/>
+ <ref name="unsignedInt"/>
</element>
</optional>
@@ -496,9 +511,11 @@
<ref name="unsignedLong"/>
</element>
- <element name="type">
- <text/>
- </element>
+ <optional>
+ <element name="type">
+ <text/>
+ </element>
+ </optional>
</define>
<define name="capstorage">
@@ -627,6 +644,11 @@
<ref name="UUID"/>
</element>
</optional>
+ <optional>
+ <element name="parent_addr">
+ <data type="string"/>
+ </element>
+ </optional>
<zeroOrMore>
<element name="attr">
<attribute name="name"/>
@@ -636,10 +658,7 @@
</interleave>
</define>
- <define name="capccwdev">
- <attribute name="type">
- <value>ccw</value>
- </attribute>
+ <define name="capccwaddress">
<element name="cssid">
<ref name="ccwCssidRange"/>
</element>
@@ -651,19 +670,23 @@
</element>
</define>
+ <define name="capccwdev">
+ <attribute name="type">
+ <value>ccw</value>
+ </attribute>
+ <ref name="capccwaddress"/>
+ </define>
+
<define name="capcssdev">
<attribute name="type">
<value>css</value>
</attribute>
- <element name="cssid">
- <ref name="ccwCssidRange"/>
- </element>
- <element name="ssid">
- <ref name="ccwSsidRange"/>
- </element>
- <element name="devno">
- <ref name="ccwDevnoRange"/>
- </element>
+ <ref name="capccwaddress"/>
+ <optional>
+ <element name="channel_dev_addr">
+ <ref name="capccwaddress"/>
+ </element>
+ </optional>
<optional>
<ref name="mdev_types"/>
</optional>
@@ -757,6 +780,80 @@
</element>
</define>
+ <define name="vpd">
+ <element name="capability">
+ <attribute name="type">
+ <value>vpd</value>
+ </attribute>
+ <element name="name">
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ <optional>
+ <element name="fields">
+ <attribute name="access">
+ <value>readonly</value>
+ </attribute>
+ <optional>
+ <element name="change_level">
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="manufacture_id">
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="part_number">
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="serial_number">
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <element name="vendor_field">
+ <attribute name="index">
+ <ref name="vendorVPDFieldIndex"/>
+ </attribute>
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </optional>
+ <optional>
+ <element name="fields">
+ <attribute name="access">
+ <value>readwrite</value>
+ </attribute>
+ <optional>
+ <element name="asset_tag">
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <element name="vendor_field">
+ <attribute name="index">
+ <ref name="vendorVPDFieldIndex"/>
+ </attribute>
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="system_field">
+ <attribute name="index">
+ <ref name="systemVPDFieldIndex"/>
+ </attribute>
+ <ref name="vpdFieldValueFormat"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </optional>
+ </element>
+ </define>
+
<define name="apDomainRange">
<choice>
<data type="string">
@@ -769,4 +866,22 @@
</choice>
</define>
+ <define name="vpdFieldValueFormat">
+ <data type="string">
+ <param name="pattern">[0-9a-zA-F -_,.:;=]{0,255}</param>
+ </data>
+ </define>
+
+ <define name="vendorVPDFieldIndex">
+ <data type="string">
+ <param name="pattern">[0-9A-Z]{1}</param>
+ </data>
+ </define>
+
+ <define name="systemVPDFieldIndex">
+ <data type="string">
+ <param name="pattern">[0-9B-Z]{1}</param>
+ </data>
+ </define>
+
</grammar>