Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- docs/schemas/cputypes.rng | 135 ++++++++++++++++++++++++++++++++++++++++++ docs/schemas/domaincommon.rng | 129 +--------------------------------------- 2 files changed, 136 insertions(+), 128 deletions(-) create mode 100644 docs/schemas/cputypes.rng diff --git a/docs/schemas/cputypes.rng b/docs/schemas/cputypes.rng new file mode 100644 index 0000000..7cc9dd3 --- /dev/null +++ b/docs/schemas/cputypes.rng @@ -0,0 +1,135 @@ +<?xml version="1.0"?> +<!-- CPU-related definitions used in multiple grammars --> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <define name="cpuMode"> + <attribute name="mode"> + <choice> + <value>custom</value> + <value>host-model</value> + <value>host-passthrough</value> + </choice> + </attribute> + </define> + + <define name="cpuMatch"> + <attribute name="match"> + <choice> + <value>minimum</value> + <value>exact</value> + <value>strict</value> + </choice> + </attribute> + </define> + + <define name="cpuModel"> + <element name="model"> + <optional> + <attribute name="fallback"> + <choice> + <value>allow</value> + <value>forbid</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="vendor_id"> + <data type="string"> + <param name='pattern'>[^,]{12}</param> + </data> + </attribute> + </optional> + <choice> + <text/> + <empty/> + </choice> + </element> + </define> + + <define name="cpuVendor"> + <element name="vendor"> + <text/> + </element> + </define> + + <define name="cpuFeature"> + <element name="feature"> + <attribute name="policy"> + <choice> + <value>force</value> + <value>require</value> + <value>optional</value> + <value>disable</value> + <value>forbid</value> + </choice> + </attribute> + <attribute name="name"> + <ref name="featureName"/> + </attribute> + <empty/> + </element> + </define> + + <define name="cpuTopology"> + <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> + </define> + + <define name="cpuNuma"> + <element name="numa"> + <oneOrMore> + <ref name="numaCell"/> + </oneOrMore> + </element> + </define> + + <define name="numaCell"> + <element name="cell"> + <optional> + <attribute name="id"> + <ref name="unsignedInt"/> + </attribute> + </optional> + <attribute name="cpus"> + <ref name="cpuset"/> + </attribute> + <attribute name="memory"> + <ref name="memoryKB"/> + </attribute> + <optional> + <attribute name="unit"> + <ref name="unit"/> + </attribute> + </optional> + <optional> + <attribute name="memAccess"> + <choice> + <value>shared</value> + <value>private</value> + </choice> + </attribute> + </optional> + </element> + </define> + + <!-- Memory as an attribute is in KiB, no way to express a unit --> + <define name="memoryKB"> + <data type="unsignedLong"/> + </define> + <define name="featureName"> + <data type="string"> + <param name='pattern'>[a-zA-Z0-9\-_\.]+</param> + </data> + </define> + +</grammar> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 052f28c..c06f700 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -4,6 +4,7 @@ <include href='basictypes.rng'/> <include href='storagecommon.rng'/> <include href='networkcommon.rng'/> + <include href='cputypes.rng'/> <!-- description and title element, may be placed anywhere under the root @@ -4377,125 +4378,6 @@ </element> </define> - <define name="cpuMode"> - <attribute name="mode"> - <choice> - <value>custom</value> - <value>host-model</value> - <value>host-passthrough</value> - </choice> - </attribute> - </define> - - <define name="cpuMatch"> - <attribute name="match"> - <choice> - <value>minimum</value> - <value>exact</value> - <value>strict</value> - </choice> - </attribute> - </define> - - <define name="cpuModel"> - <element name="model"> - <optional> - <attribute name="fallback"> - <choice> - <value>allow</value> - <value>forbid</value> - </choice> - </attribute> - </optional> - <optional> - <attribute name="vendor_id"> - <data type="string"> - <param name='pattern'>[^,]{12}</param> - </data> - </attribute> - </optional> - <choice> - <text/> - <empty/> - </choice> - </element> - </define> - - <define name="cpuVendor"> - <element name="vendor"> - <text/> - </element> - </define> - - <define name="cpuFeature"> - <element name="feature"> - <attribute name="policy"> - <choice> - <value>force</value> - <value>require</value> - <value>optional</value> - <value>disable</value> - <value>forbid</value> - </choice> - </attribute> - <attribute name="name"> - <ref name="featureName"/> - </attribute> - <empty/> - </element> - </define> - - <define name="cpuTopology"> - <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> - </define> - - <define name="cpuNuma"> - <element name="numa"> - <oneOrMore> - <ref name="numaCell"/> - </oneOrMore> - </element> - </define> - - <define name="numaCell"> - <element name="cell"> - <optional> - <attribute name="id"> - <ref name="unsignedInt"/> - </attribute> - </optional> - <attribute name="cpus"> - <ref name="cpuset"/> - </attribute> - <attribute name="memory"> - <ref name="memoryKB"/> - </attribute> - <optional> - <attribute name="unit"> - <ref name="unit"/> - </attribute> - </optional> - <optional> - <attribute name="memAccess"> - <choice> - <value>shared</value> - <value>private</value> - </choice> - </attribute> - </optional> - </element> - </define> - <!-- System information specification: Placeholder for system specific informations likes the ones @@ -5440,10 +5322,6 @@ <param name="maxInclusive">1000</param> </data> </define> - <!-- Memory as an attribute is in KiB, no way to express a unit --> - <define name="memoryKB"> - <data type="unsignedLong"/> - </define> <define name="domainName"> <data type="string"> <!-- Use literal newline instead of \n for bug in libxml2 2.7.6 --> @@ -5527,11 +5405,6 @@ <param name="pattern">[0-9]{1,20}</param> </data> </define> - <define name="featureName"> - <data type="string"> - <param name='pattern'>[a-zA-Z0-9\-_\.]+</param> - </data> - </define> <define name="timeDelta"> <data type="string"> <param name="pattern">(-|\+)?[0-9]+</param> -- 2.9.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list