mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-09 15:00:07 +00:00
34cb8f6fcd
There are limits on the number of SEV/SEV-ES guests that can be run on machines, which may be influenced by firmware settings. This is important to expose to users. Reviewed-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
361 lines
7.6 KiB
XML
361 lines
7.6 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="memoryBacking"/>
|
|
</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="cpuMax"/>
|
|
<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="cpuMax">
|
|
<element name="mode">
|
|
<attribute name="name">
|
|
<value>maximum</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="memoryBacking">
|
|
<element name="memoryBacking">
|
|
<ref name="supported"/>
|
|
<ref name="enum"/>
|
|
</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>
|
|
<optional>
|
|
<ref name="filesystem"/>
|
|
</optional>
|
|
<optional>
|
|
<ref name="tpm"/>
|
|
</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="filesystem">
|
|
<element name="filesystem">
|
|
<ref name="supported"/>
|
|
<ref name="enum"/>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="tpm">
|
|
<element name="tpm">
|
|
<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="s390-pv"/>
|
|
</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="s390-pv">
|
|
<element name="s390-pv">
|
|
<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>
|
|
<element name="maxGuests">
|
|
<data type="unsignedInt"/>
|
|
</element>
|
|
<element name="maxESGuests">
|
|
<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>
|