1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-02-03 17:47:15 +03:00

schema: Move host cpu definition to cputypes.rng

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@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Tim Wiederhake 2020-09-30 13:54:59 +02:00 committed by Peter Krempa
parent 0e907b8216
commit e7ef77a7ac
2 changed files with 76 additions and 80 deletions

View File

@ -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"/>

View File

@ -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>