libvirt/docs/schemas/domaincaps.rng
Daniel P. Berrangé 5138a09260 qemu: report whether a CPU model is deprecated in dom capabilities
QEMU has the ability to mark CPUs as deprecated. This should be exposed
to management applications in the domain capabilities.

This attribute is only set when the model is actually deprecated.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2021-02-03 17:26:39 +00:00

303 lines
6.4 KiB
XML

<?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"/>
<include href="cputypes.rng"/>
<start>
<ref name="domainCapabilities"/>
</start>
<define name="domainCapabilities">
<element name="domainCapabilities">
<interleave>
<element name="path">
<ref name="absFilePath"/>
</element>
<element name="domain">
<text/>
</element>
<optional>
<element name="machine">
<text/>
</element>
</optional>
<element name="arch">
<text/>
</element>
<optional>
<ref name="vcpu"/>
</optional>
<optional>
<ref name="iothreads"/>
</optional>
<optional>
<ref name="os"/>
</optional>
<optional>
<ref name="cpu"/>
</optional>
<optional>
<ref name="devices"/>
</optional>
<optional>
<ref name="features"/>
</optional>
</interleave>
</element>
</define>
<define name="vcpu">
<element name="vcpu">
<attribute name="max">
<ref name="unsignedInt"/>
</attribute>
<empty/>
</element>
</define>
<define name="iothreads">
<element name="iothreads">
<ref name="supported"/>
<empty/>
</element>
</define>
<define name="loader">
<element name="loader">
<ref name="supported"/>
<optional>
<ref name="value"/>
</optional>
<ref name="enum"/>
</element>
</define>
<define name="os">
<element name="os">
<interleave>
<ref name="supported"/>
<ref name="enum"/>
<optional>
<ref name="loader"/>
</optional>
</interleave>
</element>
</define>
<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"/>
<optional>
<ref name="enum"/>
</optional>
</element>
</define>
<define name="cpuHostModel">
<element name="mode">
<attribute name="name">
<value>host-model</value>
</attribute>
<ref name="supported"/>
<optional>
<ref name="cpuModel"/>
<optional>
<ref name="cpuVendor"/>
</optional>
<zeroOrMore>
<ref name="cpuFeature"/>
</zeroOrMore>
</optional>
</element>
</define>
<define name="cpuCustom">
<element name="mode">
<attribute name="name">
<value>custom</value>
</attribute>
<ref name="supported"/>
<zeroOrMore>
<element name="model">
<attribute name="usable">
<choice>
<value>yes</value>
<value>no</value>
<value>unknown</value>
</choice>
</attribute>
<optional>
<attribute name="deprecated">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</attribute>
</optional>
<text/>
</element>
</zeroOrMore>
</element>
</define>
<define name="devices">
<element name="devices">
<optional>
<ref name="disk"/>
</optional>
<optional>
<ref name="graphics"/>
</optional>
<optional>
<ref name="video"/>
</optional>
<optional>
<ref name="hostdev"/>
</optional>
<optional>
<ref name="rng"/>
</optional>
</element>
</define>
<define name="disk">
<element name="disk">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="graphics">
<element name="graphics">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="video">
<element name="video">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="hostdev">
<element name="hostdev">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="rng">
<element name="rng">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="features">
<element name="features">
<optional>
<ref name="gic"/>
</optional>
<optional>
<ref name="vmcoreinfo"/>
</optional>
<optional>
<ref name="vmgenid"/>
</optional>
<optional>
<ref name="backingStoreInput"/>
</optional>
<optional>
<ref name="backup"/>
</optional>
<optional>
<ref name="sev"/>
</optional>
</element>
</define>
<define name="gic">
<element name="gic">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="vmcoreinfo">
<element name="vmcoreinfo">
<ref name="supported"/>
</element>
</define>
<define name="vmgenid">
<element name="genid">
<ref name="supported"/>
</element>
</define>
<define name="backingStoreInput">
<element name="backingStoreInput">
<ref name="supported"/>
</element>
</define>
<define name="backup">
<element name="backup">
<ref name="supported"/>
</element>
</define>
<define name="sev">
<element name="sev">
<ref name="supported"/>
<optional>
<element name="cbitpos">
<data type="unsignedInt"/>
</element>
<element name="reducedPhysBits">
<data type="unsignedInt"/>
</element>
</optional>
</element>
</define>
<define name="value">
<zeroOrMore>
<element name="value">
<text/>
</element>
</zeroOrMore>
</define>
<define name="supported">
<attribute name="supported">
<ref name="virYesNo"/>
</attribute>
</define>
<define name="enum">
<zeroOrMore>
<element name="enum">
<attribute name="name">
<text/>
</attribute>
<ref name="value"/>
</element>
</zeroOrMore>
</define>
</grammar>