This also inlines the defintions for "cpufeature", "cpuspec",
"featureName" and "pagesHost", as "cpu" was the only user.
Doing so avoids a naming collision when cputypes.rng is included in
other schemas in a later patch.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
docs/schemas/capability.rng | 82 +------------------------------------
docs/schemas/cputypes.rng | 74 +++++++++++++++++++++++++++++++++
2 files changed, 76 insertions(+), 80 deletions(-)
diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index 68bdb29695..91a046eb48 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -3,6 +3,7 @@
<grammar
xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<include href="basictypes.rng"/>
+ <include href="cputypes.rng"/>
<start>
<ref name="capabilities"/>
</start>
@@ -25,17 +26,7 @@
<ref name="UUID"/>
</element>
</optional>
- <element name="cpu">
- <element name="arch">
- <ref name="archnames"/>
- </element>
- <optional>
- <ref name="cpufeatures"/>
- </optional>
- <optional>
- <ref name="cpuspec"/>
- </optional>
- </element>
+ <ref name="hostcpu"/>
<optional>
<ref name="power_management"/>
</optional>
@@ -81,64 +72,6 @@
</element>
</define>
-
- <define name="cpufeatures">
- <element name="features">
- <optional>
- <element name="pae"><empty/></element>
- </optional>
- <optional>
- <element name="nonpae"><empty/></element>
- </optional>
- <optional>
- <element name="vmx"><empty/></element>
- </optional>
- <optional>
- <element name="svm"><empty/></element>
- </optional>
- </element>
- </define>
-
- <define name="cpuspec">
- <element name="model">
- <text/>
- </element>
- <optional>
- <element name="vendor">
- <text/>
- </element>
- </optional>
- <optional>
- <element name="microcode">
- <attribute name="version">
- <ref name="positiveInteger"/>
- </attribute>
- </element>
- </optional>
- <element name="topology">
- <attribute name="sockets">
- <ref name="positiveInteger"/>
- </attribute>
- <attribute name="cores">
- <ref name="positiveInteger"/>
- </attribute>
- <attribute name="threads">
- <ref name="positiveInteger"/>
- </attribute>
- </element>
- <zeroOrMore>
- <element name="feature">
- <attribute name="name">
- <ref name="featureName"/>
- </attribute>
- <empty/>
- </element>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="pagesHost"/>
- </zeroOrMore>
- </define>
-
<define name="power_management">
<element name="power_management">
<interleave>
@@ -567,17 +500,6 @@
</attribute>
</define>
- <define name="featureName">
- <data type="string">
- <param name="pattern">[a-zA-Z0-9\-_]+</param>
- </data>
- </define>
-
- <define name="pagesHost">
- <element name="pages">
- <ref name="pagesElem"/>
- </element>
- </define>
<define name="pagesNuma">
<element name="pages">
<ref name="pagesElem"/>
diff --git a/docs/schemas/cputypes.rng b/docs/schemas/cputypes.rng
index e6e82b5fd2..a2d4dbe9d1 100644
--- a/docs/schemas/cputypes.rng
+++ b/docs/schemas/cputypes.rng
@@ -299,4 +299,78 @@
</element>
</define>
+ <define name="hostcpu">
+ <element name="cpu">
+ <element name="arch">
+ <ref name="archnames"/>
+ </element>
+ <optional>
+ <element name="features">
+ <optional>
+ <element name="pae"><empty/></element>
+ </optional>
+ <optional>
+ <element name="nonpae"><empty/></element>
+ </optional>
+ <optional>
+ <element name="vmx"><empty/></element>
+ </optional>
+ <optional>
+ <element name="svm"><empty/></element>
+ </optional>
+ </element>
+ </optional>
+ <optional>
+ <element name="model">
+ <text/>
+ </element>
+ <optional>
+ <element name="vendor">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="microcode">
+ <attribute name="version">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </element>
+ </optional>
+ <element name="topology">
+ <attribute name="sockets">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="cores">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="threads">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </element>
+ <zeroOrMore>
+ <element name="feature">
+ <attribute name="name">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9\-_]+</param>
+ </data>
+ </attribute>
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="pages">
+ <optional>
+ <attribute name="unit">
+ <ref name="unit"/>
+ </attribute>
+ </optional>
+ <attribute name="size">
+ <ref name="unsignedInt"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </optional>
+ </element>
+ </define>
+
</grammar>
--
2.26.2