2014-06-25 11:24:53 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<!-- A Relax NG schema for the libvirt domain capabilities XML format -->
|
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
|
|
<include href='basictypes.rng'/>
|
2016-06-15 14:45:47 +00:00
|
|
|
<include href='cputypes.rng'/>
|
2014-06-25 11:24:53 +00:00
|
|
|
<start>
|
|
|
|
<ref name='domainCapabilities'/>
|
|
|
|
</start>
|
|
|
|
|
|
|
|
|
|
|
|
<define name='domainCapabilities'>
|
|
|
|
<element name='domainCapabilities'>
|
|
|
|
<interleave>
|
|
|
|
<element name='path'>
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</element>
|
|
|
|
<element name='domain'>
|
|
|
|
<text/>
|
|
|
|
</element>
|
2017-03-26 14:35:14 +00:00
|
|
|
<optional>
|
|
|
|
<element name='machine'>
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2014-06-25 11:24:53 +00:00
|
|
|
<element name='arch'>
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
<optional>
|
|
|
|
<ref name='vcpu'/>
|
|
|
|
</optional>
|
2017-10-19 12:19:38 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='iothreads'/>
|
|
|
|
</optional>
|
2014-09-16 12:47:47 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='os'/>
|
|
|
|
</optional>
|
2016-04-22 09:08:57 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='cpu'/>
|
|
|
|
</optional>
|
2014-06-25 11:24:53 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='devices'/>
|
|
|
|
</optional>
|
2016-03-09 17:42:14 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='features'/>
|
|
|
|
</optional>
|
2014-06-25 11:24:53 +00:00
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='vcpu'>
|
|
|
|
<element name='vcpu'>
|
|
|
|
<attribute name='max'>
|
|
|
|
<ref name='unsignedInt'/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2017-10-19 12:19:38 +00:00
|
|
|
<define name='iothreads'>
|
|
|
|
<element name='iothreads'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2014-09-16 12:47:47 +00:00
|
|
|
<define name='loader'>
|
|
|
|
<element name='loader'>
|
|
|
|
<ref name='supported'/>
|
2014-09-16 23:52:54 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='value'/>
|
|
|
|
</optional>
|
2014-09-16 12:47:47 +00:00
|
|
|
<ref name='enum'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='os'>
|
|
|
|
<element name='os'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='loader'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2016-04-22 09:08:57 +00:00
|
|
|
<define name='cpu'>
|
|
|
|
<element name='cpu'>
|
|
|
|
<ref name='cpuHost'/>
|
|
|
|
<ref name='cpuHostModel'/>
|
|
|
|
<ref name='cpuCustom'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='cpuHost'>
|
|
|
|
<element name='mode'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<value>host-passthrough</value>
|
|
|
|
</attribute>
|
|
|
|
<ref name='supported'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='cpuHostModel'>
|
|
|
|
<element name='mode'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<value>host-model</value>
|
|
|
|
</attribute>
|
|
|
|
<ref name='supported'/>
|
2016-06-15 14:45:47 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="cpuModel"/>
|
|
|
|
<optional>
|
|
|
|
<ref name="cpuVendor"/>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name="cpuFeature"/>
|
|
|
|
</zeroOrMore>
|
|
|
|
</optional>
|
2016-04-22 09:08:57 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='cpuCustom'>
|
|
|
|
<element name='mode'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<value>custom</value>
|
|
|
|
</attribute>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name='model'>
|
2016-06-15 14:15:44 +00:00
|
|
|
<attribute name='usable'>
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
<value>unknown</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2016-04-22 09:08:57 +00:00
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2014-06-25 11:24:53 +00:00
|
|
|
<define name='devices'>
|
|
|
|
<element name='devices'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='disk'/>
|
2016-05-08 15:57:20 +00:00
|
|
|
<ref name='graphics'/>
|
2016-05-08 16:11:39 +00:00
|
|
|
<ref name='video'/>
|
2014-06-25 11:24:53 +00:00
|
|
|
<ref name='hostdev'/>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='disk'>
|
|
|
|
<element name='disk'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<ref name='enum'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2016-05-08 15:57:20 +00:00
|
|
|
<define name='graphics'>
|
|
|
|
<element name='graphics'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<ref name='enum'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2016-05-08 16:11:39 +00:00
|
|
|
<define name='video'>
|
|
|
|
<element name='video'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<ref name='enum'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2014-06-25 11:24:53 +00:00
|
|
|
<define name='hostdev'>
|
|
|
|
<element name='hostdev'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<ref name='enum'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2016-03-09 17:42:14 +00:00
|
|
|
<define name='features'>
|
|
|
|
<element name='features'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='gic'/>
|
2018-04-17 17:54:28 +00:00
|
|
|
<ref name='vmcoreinfo'/>
|
2018-04-27 12:16:40 +00:00
|
|
|
<ref name='vmgenid'/>
|
2018-06-14 12:18:30 +00:00
|
|
|
<ref name='sev'/>
|
2016-03-09 17:42:14 +00:00
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='gic'>
|
|
|
|
<element name='gic'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
<ref name='enum'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2018-04-17 17:54:28 +00:00
|
|
|
<define name='vmcoreinfo'>
|
|
|
|
<element name='vmcoreinfo'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2018-04-27 12:16:40 +00:00
|
|
|
<define name='vmgenid'>
|
|
|
|
<element name='genid'>
|
|
|
|
<ref name='supported'/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2018-06-08 14:40:52 +00:00
|
|
|
<define name='sev'>
|
|
|
|
<element name='sev'>
|
2018-06-14 12:18:30 +00:00
|
|
|
<ref name='supported'/>
|
|
|
|
<optional>
|
|
|
|
<element name='cbitpos'>
|
|
|
|
<data type='unsignedInt'/>
|
|
|
|
</element>
|
|
|
|
<element name='reducedPhysBits'>
|
|
|
|
<data type='unsignedInt'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2018-06-08 14:40:52 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2014-09-16 23:52:54 +00:00
|
|
|
<define name='value'>
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name='value'>
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</define>
|
|
|
|
|
2014-06-25 11:24:53 +00:00
|
|
|
<define name='supported'>
|
|
|
|
<attribute name='supported'>
|
2014-09-08 06:06:35 +00:00
|
|
|
<ref name="virYesNo"/>
|
2014-06-25 11:24:53 +00:00
|
|
|
</attribute>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='enum'>
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name='enum'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
2014-09-16 23:52:54 +00:00
|
|
|
<ref name='value'/>
|
2014-06-25 11:24:53 +00:00
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</define>
|
|
|
|
</grammar>
|