schema: Allow multiple machines for VMs and unite architectures

Use the same pattern for all machine types on all archs and same archs
for hvm and exe types.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander
2015-04-09 10:49:02 +02:00
parent 8be502fd90
commit 450a59ba56

View File

@@ -328,179 +328,42 @@
<define name="ostypehvm"> <define name="ostypehvm">
<element name="type"> <element name="type">
<optional> <optional>
<choice> <ref name="archList"/>
<ref name="hvmx86"/> </optional>
<ref name="hvmmips"/> <optional>
<ref name="hvmsparc"/> <attribute name="machine">
<ref name="hvmppc"/> <data type="string">
<ref name="hvmppc64"/> <param name="pattern">[a-zA-Z0-9_\.\-]+</param>
<ref name="hvms390"/> </data>
<ref name="hvmarm"/> </attribute>
<ref name="hvmaarch64"/>
</choice>
</optional> </optional>
<value>hvm</value> <value>hvm</value>
</element> </element>
</define> </define>
<define name="hvmx86">
<group> <define name="archList">
<optional> <attribute name="arch">
<attribute name="arch"> <choice>
<choice> <value>armv7l</value>
<value>i686</value> <value>aarch64</value>
<value>x86_64</value> <value>i686</value>
</choice> <value>x86_64</value>
</attribute> <value>mips</value>
</optional> <value>ppc</value>
<optional> <value>ppc64</value>
<attribute name="machine"> <value>ppc64le</value>
<data type="string"> <value>s390</value>
<param name="pattern">[a-zA-Z0-9_\.\-]+</param> <value>s390x</value>
</data> <value>sparc</value>
</attribute> </choice>
</optional> </attribute>
</group>
</define>
<define name="hvmmips">
<group>
<optional>
<attribute name="arch">
<value>mips</value>
</attribute>
</optional>
<optional>
<attribute name="machine">
<value>mips</value>
</attribute>
</optional>
</group>
</define>
<define name="hvmsparc">
<group>
<optional>
<attribute name="arch">
<value>sparc</value>
</attribute>
</optional>
<optional>
<attribute name="machine">
<value>sun4m</value>
</attribute>
</optional>
</group>
</define>
<define name="hvmppc">
<group>
<optional>
<attribute name="arch">
<value>ppc</value>
</attribute>
</optional>
<optional>
<attribute name="machine">
<choice>
<value>g3beige</value>
<value>mac99</value>
<value>prep</value>
<value>ppce500</value>
</choice>
</attribute>
</optional>
</group>
</define>
<define name="hvmppc64">
<group>
<optional>
<attribute name="arch">
<choice>
<value>ppc64</value>
<value>ppc64le</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="machine">
<choice>
<value>pseries</value>
<value>pseries-2.1</value>
<value>pseries-2.2</value>
</choice>
</attribute>
</optional>
</group>
</define>
<define name="hvms390">
<group>
<optional>
<attribute name="arch">
<choice>
<value>s390</value>
<value>s390x</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="machine">
<choice>
<value>s390</value>
<value>s390-virtio</value>
<value>s390-ccw</value>
<value>s390-ccw-virtio</value>
</choice>
</attribute>
</optional>
</group>
</define>
<define name="hvmarm">
<group>
<optional>
<attribute name="arch">
<choice>
<value>armv7l</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="machine">
<data type="string">
<param name="pattern">[a-zA-Z0-9_\.\-]+</param>
</data>
</attribute>
</optional>
</group>
</define>
<define name="hvmaarch64">
<group>
<optional>
<attribute name="arch">
<choice>
<value>aarch64</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="machine">
<data type="string">
<param name="pattern">[a-zA-Z0-9_\.\-]+</param>
</data>
</attribute>
</optional>
</group>
</define> </define>
<define name="osexe"> <define name="osexe">
<element name="os"> <element name="os">
<element name="type"> <element name="type">
<optional> <optional>
<attribute name="arch"> <ref name="archList"/>
<choice>
<value>i686</value>
<value>x86_64</value>
<value>ppc</value>
<value>ppc64</value>
<value>mips</value>
<value>sparc</value>
</choice>
</attribute>
</optional> </optional>
<value>exe</value> <value>exe</value>
</element> </element>
@@ -518,6 +381,7 @@
</interleave> </interleave>
</element> </element>
</define> </define>
<!-- <!--
The Identifiers can be: The Identifiers can be:
- an optional id attribute with a number on the domain element - an optional id attribute with a number on the domain element