diff options
Diffstat (limited to 'src/main/resources/libvirt/rng/domaincaps.rng')
-rw-r--r-- | src/main/resources/libvirt/rng/domaincaps.rng | 443 |
1 files changed, 443 insertions, 0 deletions
diff --git a/src/main/resources/libvirt/rng/domaincaps.rng b/src/main/resources/libvirt/rng/domaincaps.rng new file mode 100644 index 0000000..28f545b --- /dev/null +++ b/src/main/resources/libvirt/rng/domaincaps.rng @@ -0,0 +1,443 @@ +<?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"> + <ref name="virYesNo"/> + </attribute> + </optional> + <attribute name='vendor'> + <text/> + </attribute> + <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> + <optional> + <ref name="redirdev"/> + </optional> + <optional> + <ref name="channel"/> + </optional> + <optional> + <ref name="crypto"/> + </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="redirdev"> + <element name="redirdev"> + <ref name="supported"/> + <ref name="enum"/> + </element> + </define> + + <define name="channel"> + <element name="channel"> + <ref name="supported"/> + <ref name="enum"/> + </element> + </define> + + <define name="crypto"> + <element name="crypto"> + <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> + <optional> + <ref name="sgx"/> + </optional> + <optional> + <ref name="hyperv"/> + </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="sgx"> + <element name="sgx"> + <ref name="supported"/> + <optional> + <element name="flc"> + <ref name="virYesNo"/> + </element> + <element name="sgx1"> + <ref name="virYesNo"/> + </element> + <element name="sgx2"> + <ref name="virYesNo"/> + </element> + <element name="section_size"> + <attribute name="unit"> + <value>KiB</value> + </attribute> + <data type="unsignedLong"/> + </element> + <optional> + <element name="sections"> + <zeroOrMore> + <element name="section"> + <attribute name="node"> + <data type="unsignedInt"/> + </attribute> + <attribute name="size"> + <data type="unsignedLong"/> + </attribute> + <attribute name="unit"> + <value>KiB</value> + </attribute> + </element> + </zeroOrMore> + </element> + </optional> + </optional> + </element> + </define> + + <define name="hyperv"> + <element name="hyperv"> + <ref name="supported"/> + <ref name="enum"/> + </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> |