mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-05 12:51:12 +00:00
e27e22585a
We need to report via domcapabilities if specifying shared memory is supported without hugepages or numa config in order to find out if domain has suitable setup to make virtiofs work. The solution is to report source types of memory backing to determine if memfd is a valid option. Signed-off-by: Kristina Hanicova <khanicov@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
336 lines
7.1 KiB
XML
336 lines
7.1 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>
|
|
</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="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>
|