diff options
-rw-r--r-- | src/main/resources/libvirt/rng/basictypes.rng | 36 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/capability.rng | 8 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/cputypes.rng | 5 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/domainbackup.rng | 4 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/domaincaps.rng | 20 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/domaincommon.rng | 446 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/domainsnapshot.rng | 7 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/network.rng | 23 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/networkport.rng | 10 | ||||
-rw-r--r-- | src/main/resources/libvirt/rng/nodedev.rng | 2 |
10 files changed, 405 insertions, 156 deletions
diff --git a/src/main/resources/libvirt/rng/basictypes.rng b/src/main/resources/libvirt/rng/basictypes.rng index 2d6f1a2..2931e31 100644 --- a/src/main/resources/libvirt/rng/basictypes.rng +++ b/src/main/resources/libvirt/rng/basictypes.rng @@ -444,6 +444,7 @@ <value>i686</value> <value>ia64</value> <value>lm32</value> + <value>loongarch64</value> <value>m68k</value> <value>microblaze</value> <value>microblazeel</value> @@ -610,6 +611,21 @@ </choice> </define> + <!-- + title and description element, may be placed anywhere under the root + --> + <define name="title"> + <element name="title"> + <ref name="objectNameWithSlash"/> + </element> + </define> + + <define name="description"> + <element name="description"> + <text/> + </element> + </define> + <define name="metadata"> <element name="metadata"> <zeroOrMore> @@ -641,4 +657,24 @@ </choice> </define> + <define name="hostdevDriver"> + <element name="driver"> + <optional> + <attribute name="name"> + <choice> + <value>kvm</value> + <value>vfio</value> + <value>xen</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="model"> + <ref name="genericName"/> + </attribute> + </optional> + <empty/> + </element> + </define> + </grammar> diff --git a/src/main/resources/libvirt/rng/capability.rng b/src/main/resources/libvirt/rng/capability.rng index 83b4149..a160694 100644 --- a/src/main/resources/libvirt/rng/capability.rng +++ b/src/main/resources/libvirt/rng/capability.rng @@ -201,6 +201,9 @@ <attribute name="die_id"> <ref name="unsignedInt"/> </attribute> + <attribute name="cluster_id"> + <ref name="unsignedInt"/> + </attribute> <attribute name="core_id"> <ref name="unsignedInt"/> </attribute> @@ -493,6 +496,11 @@ <empty/> </element> </optional> + <optional> + <element name="externalSnapshot"> + <empty/> + </element> + </optional> </interleave> </element> </define> diff --git a/src/main/resources/libvirt/rng/cputypes.rng b/src/main/resources/libvirt/rng/cputypes.rng index db1aa57..3a8910e 100644 --- a/src/main/resources/libvirt/rng/cputypes.rng +++ b/src/main/resources/libvirt/rng/cputypes.rng @@ -92,6 +92,11 @@ <ref name="positiveInteger"/> </attribute> </optional> + <optional> + <attribute name="clusters"> + <ref name="positiveInteger"/> + </attribute> + </optional> <attribute name="cores"> <ref name="positiveInteger"/> </attribute> diff --git a/src/main/resources/libvirt/rng/domainbackup.rng b/src/main/resources/libvirt/rng/domainbackup.rng index bfc29a6..80ba155 100644 --- a/src/main/resources/libvirt/rng/domainbackup.rng +++ b/src/main/resources/libvirt/rng/domainbackup.rng @@ -166,6 +166,10 @@ <value>no</value> </attribute> </group> + <!-- Allow to plainly select a disk for backup without any other config --> + <group> + <ref name="backupAttr"/> + </group> <group> <ref name="backupAttr"/> <attribute name="type"> diff --git a/src/main/resources/libvirt/rng/domaincaps.rng b/src/main/resources/libvirt/rng/domaincaps.rng index 28f545b..e7aa4a1 100644 --- a/src/main/resources/libvirt/rng/domaincaps.rng +++ b/src/main/resources/libvirt/rng/domaincaps.rng @@ -11,9 +11,11 @@ <define name="domainCapabilities"> <element name="domainCapabilities"> <interleave> - <element name="path"> - <ref name="absFilePath"/> - </element> + <optional> + <element name="path"> + <ref name="absFilePath"/> + </element> + </optional> <element name="domain"> <text/> </element> @@ -132,6 +134,9 @@ <optional> <ref name="cpuVendor"/> </optional> + <optional> + <ref name="cpuMaxPhysAddr"/> + </optional> <zeroOrMore> <ref name="cpuFeature"/> </zeroOrMore> @@ -298,6 +303,9 @@ <ref name="backup"/> </optional> <optional> + <ref name="async-teardown"/> + </optional> + <optional> <ref name="s390-pv"/> </optional> <optional> @@ -312,6 +320,12 @@ </element> </define> + <define name="async-teardown"> + <element name="async-teardown"> + <ref name="supported"/> + </element> + </define> + <define name="gic"> <element name="gic"> <ref name="supported"/> diff --git a/src/main/resources/libvirt/rng/domaincommon.rng b/src/main/resources/libvirt/rng/domaincommon.rng index 6158ed7..d84e030 100644 --- a/src/main/resources/libvirt/rng/domaincommon.rng +++ b/src/main/resources/libvirt/rng/domaincommon.rng @@ -8,21 +8,6 @@ <include href="nwfilter_params.rng"/> <include href="privatedata.rng"/> - <!-- - description and title element, may be placed anywhere under the root - --> - <define name="description"> - <element name="description"> - <text/> - </element> - </define> - - <define name="title"> - <element name="title"> - <ref name="objectNameWithSlash"/> - </element> - </define> - <define name="createMode"> <data type="unsignedInt"> <param name="pattern">0[0-7]{3}|[0-7]{1,3}</param> @@ -721,9 +706,11 @@ <optional> <element name="maxMemory"> <ref name="scaledInteger"/> - <attribute name="slots"> - <ref name="unsignedInt"/> - </attribute> + <optional> + <attribute name="slots"> + <ref name="unsignedInt"/> + </attribute> + </optional> </element> </optional> <optional> @@ -885,6 +872,25 @@ <ref name="unsignedInt"/> </attribute> </optional> + <optional> + <element name="poll"> + <optional> + <attribute name="max"> + <ref name="unsignedLong"/> + </attribute> + </optional> + <optional> + <attribute name="grow"> + <ref name="unsignedLong"/> + </attribute> + </optional> + <optional> + <attribute name="shrink"> + <ref name="unsignedLong"/> + </attribute> + </optional> + </element> + </optional> </element> </zeroOrMore> </element> @@ -1805,6 +1811,7 @@ <ref name="diskSourceVolume"/> <ref name="diskSourceNvme"/> <ref name="diskSourceVhostUser"/> + <ref name="diskSourceVhostVdpa"/> </choice> </define> @@ -2166,6 +2173,60 @@ </element> </define> + <define name="diskSourceNetworkProtocolSSHHostVerify"> + <element name="knownHosts"> + <attribute name="path"> + <ref name="absFilePath"/> + </attribute> + </element> + </define> + + <define name="diskSourceNetworkProtocolSSHKeyDef"> + <element name="identity"> + <interleave> + <attribute name="username"> + <ref name="genericName"/> + </attribute> + <choice> + <attribute name="keyfile"> + <ref name="absFilePath"/> + </attribute> + <attribute name="agentsock"> + <ref name="absFilePath"/> + </attribute> + </choice> + </interleave> + </element> + </define> + + <define name="diskSourceNetworkProtocolSSH"> + <element name="source"> + <interleave> + <attribute name="protocol"> + <choice> + <value>ssh</value> + </choice> + </attribute> + <attribute name="name"/> + <ref name="diskSourceCommon"/> + <ref name="diskSourceNetworkHost"/> + <optional> + <ref name="encryption"/> + </optional> + <ref name="diskSourceNetworkProtocolPropsCommon"/> + <optional> + <ref name="diskSourceNetworkProtocolSSHHostVerify"/> + </optional> + <optional> + <choice> + <ref name="diskSourceNetworkProtocolSSHKeyDef"/> + <ref name="diskAuth"/> + </choice> + </optional> + </interleave> + </element> + </define> + <define name="diskSourceNetworkProtocolSimple"> <element name="source"> <interleave> @@ -2282,6 +2343,7 @@ <ref name="diskSourceNetworkProtocolHTTPS"/> <ref name="diskSourceNetworkProtocolFTPS"/> <ref name="diskSourceNetworkProtocolFTP"/> + <ref name="diskSourceNetworkProtocolSSH"/> <ref name="diskSourceNetworkProtocolSimple"/> <ref name="diskSourceNetworkProtocolVxHS"/> <ref name="diskSourceNetworkProtocolNFS"/> @@ -2375,6 +2437,18 @@ </element> </define> + <define name="diskSourceVhostVdpa"> + <attribute name="type"> + <value>vhostvdpa</value> + </attribute> + <element name="source"> + <attribute name="dev"> + <ref name="absFilePath"/> + </attribute> + <empty/> + </element> + </define> + <define name="diskTargetDev"> <data type="string"> <param name="pattern">(ioemu:)?(fd|hd|sd|vd|xvd|ubd)[a-zA-Z0-9_]+</param> @@ -2455,11 +2529,33 @@ <data type="integer"/> </attribute> </optional> + <optional> + <attribute name="discard_granularity"> + <data type="integer"/> + </attribute> + </optional> </element> </define> - <!-- - Disk may use a special driver for access. - --> + + <define name="diskDriverIothreads"> + <element name="iothreads"> + <oneOrMore> + <element name="iothread"> + <attribute name="id"> + <ref name="unsignedInt"/> + </attribute> + <zeroOrMore> + <element name="queue"> + <attribute name="id"> + <ref name="unsignedInt"/> + </attribute> + </element> + </zeroOrMore> + </element> + </oneOrMore> + </element> + </define> + <define name="diskDriver"> <element name="driver"> <optional> @@ -2496,6 +2592,11 @@ <ref name="detect_zeroes"/> </optional> <optional> + <attribute name="discard_no_unref"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> <attribute name="queues"> <ref name="positiveInteger"/> </attribute> @@ -2506,17 +2607,23 @@ </attribute> </optional> <ref name="virtioOptions"/> - <optional> - <element name="metadata_cache"> - <optional> - <element name="max_size"> - <ref name="scaledInteger"/> - </element> - </optional> - </element> - </optional> + <interleave> + <optional> + <element name="metadata_cache"> + <optional> + <element name="max_size"> + <ref name="scaledInteger"/> + </element> + </optional> + </element> + </optional> + <optional> + <ref name="diskDriverIothreads"/> + </optional> + </interleave> </element> </define> + <define name="driverFormat"> <optional> <attribute name="name"> @@ -2790,6 +2897,11 @@ <ref name="unsignedInt"/> </element> </optional> + <optional> + <attribute name="memReserve"> + <ref name="unsignedLong"/> + </attribute> + </optional> </element> </optional> <!-- *-root controllers have an optional element "pcihole64"--> @@ -3036,6 +3148,9 @@ </choice> <empty/> </element> + <optional> + <ref name="idmap"/> + </optional> <ref name="filesystemCommon"/> </interleave> </group> @@ -3143,6 +3258,11 @@ </optional> <ref name="virtioOptions"/> </group> + <group> + <attribute name="type"> + <value>mtp</value> + </attribute> + </group> <empty/> </choice> </element> @@ -3675,18 +3795,12 @@ </element> </optional> <optional> - <element name="driver"> - <choice> - <group> - <attribute name="name"> - <choice> - <value>kvm</value> - <value>vfio</value> - <value>xen</value> - </choice> - </attribute> - </group> - <group> + <choice> + <group> + <ref name="hostdevDriver"/> + </group> + <group> + <element name="driver"> <optional> <attribute name="name"> <choice> @@ -3724,90 +3838,90 @@ <optional> <ref name="event_idx"/> </optional> - </group> - </choice> - <ref name="virtioOptions"/> - <interleave> - <optional> - <element name="host"> - <optional> - <attribute name="csum"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="gso"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="tso4"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="tso6"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="ecn"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="ufo"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="mrg_rxbuf"> - <ref name="virOnOff"/> - </attribute> - </optional> - </element> - </optional> - <optional> - <element name="guest"> - <optional> - <attribute name="csum"> - <ref name="virOnOff"/> - </attribute> - </optional> + <ref name="virtioOptions"/> + <interleave> <optional> - <attribute name="tso4"> - <ref name="virOnOff"/> - </attribute> + <element name="host"> + <optional> + <attribute name="csum"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="gso"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="tso4"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="tso6"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="ecn"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="ufo"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="mrg_rxbuf"> + <ref name="virOnOff"/> + </attribute> + </optional> + </element> </optional> <optional> - <attribute name="tso6"> - <ref name="virOnOff"/> - </attribute> + <element name="guest"> + <optional> + <attribute name="csum"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="tso4"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="tso6"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="ecn"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="ufo"> + <ref name="virOnOff"/> + </attribute> + </optional> + </element> </optional> <optional> - <attribute name="ecn"> + <attribute name="rss"> <ref name="virOnOff"/> </attribute> </optional> <optional> - <attribute name="ufo"> + <attribute name="rss_hash_report"> <ref name="virOnOff"/> </attribute> </optional> - </element> - </optional> - <optional> - <attribute name="rss"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="rss_hash_report"> - <ref name="virOnOff"/> - </attribute> - </optional> - </interleave> - </element> + </interleave> + </element> + </group> + </choice> </optional> <optional> <ref name="alias"/> @@ -4950,6 +5064,11 @@ <value>usb</value> </choice> </attribute> + <optional> + <attribute name="multichannel"> + <ref name="virYesNo"/> + </attribute> + </optional> <interleave> <optional> <ref name="alias"/> @@ -5097,6 +5216,26 @@ <ref name="audiocommonchild"/> </define> + <define name="audiopipewire"> + <ref name="audiocommonattr"/> + <optional> + <attribute name="name"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="streamName"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="latency"> + <ref name="uint32"/> + </attribute> + </optional> + <ref name="audiocommonchild"/> + </define> + <define name="audiopulseaudio"> <ref name="audiocommonattr"/> <optional> @@ -5274,6 +5413,28 @@ </group> <group> <attribute name="type"> + <value>pipewire</value> + </attribute> + <interleave> + <optional> + <element name="input"> + <ref name="audiopipewire"/> + </element> + </optional> + <optional> + <element name="output"> + <ref name="audiopipewire"/> + </element> + </optional> + <optional> + <attribute name="runtimeDir"> + <ref name="filePath"/> + </attribute> + </optional> + </interleave> + </group> + <group> + <attribute name="type"> <value>pulseaudio</value> </attribute> <optional> @@ -6093,16 +6254,7 @@ </attribute> <interleave> <optional> - <element name="driver"> - <attribute name="name"> - <choice> - <value>kvm</value> - <value>vfio</value> - <value>xen</value> - </choice> - </attribute> - <empty/> - </element> + <ref name="hostdevDriver"/> </optional> <optional> <ref name="teaming"/> @@ -6120,6 +6272,7 @@ <ref name="pciaddress"/> </element> </element> + <ref name="hostdevsubsysvfiodisplay"/> </interleave> </define> @@ -6239,6 +6392,19 @@ </element> </define> + <define name="hostdevsubsysvfiodisplay"> + <optional> + <attribute name="ramfb"> + <ref name="virOnOff"/> + </attribute> + </optional> + <optional> + <attribute name="display"> + <ref name="virOnOff"/> + </attribute> + </optional> + </define> + <define name="hostdevsubsysmdev"> <attribute name="type"> <value>mdev</value> @@ -6250,16 +6416,7 @@ <value>vfio-ap</value> </choice> </attribute> - <optional> - <attribute name="ramfb"> - <ref name="virOnOff"/> - </attribute> - </optional> - <optional> - <attribute name="display"> - <ref name="virOnOff"/> - </attribute> - </optional> + <ref name="hostdevsubsysvfiodisplay"/> <element name="source"> <ref name="mdevaddress"/> </element> @@ -6629,6 +6786,15 @@ <optional> <ref name="tcgfeatures"/> </optional> + <optional> + <element name="async-teardown"> + <optional> + <attribute name="enabled"> + <ref name="virYesNo"/> + </attribute> + </optional> + </element> + </optional> </interleave> </element> </optional> @@ -7117,6 +7283,11 @@ <define name="memorydev-target"> <element name="target"> + <optional> + <attribute name="dynamicMemslots"> + <ref name="virYesNo"/> + </attribute> + </optional> <interleave> <element name="size"> <ref name="scaledInteger"/> @@ -7153,6 +7324,13 @@ <empty/> </element> </optional> + <optional> + <element name="address"> + <attribute name="base"> + <ref name="hexuint"/> + </attribute> + </element> + </optional> </interleave> </element> </define> diff --git a/src/main/resources/libvirt/rng/domainsnapshot.rng b/src/main/resources/libvirt/rng/domainsnapshot.rng index 45f01b9..2549c47 100644 --- a/src/main/resources/libvirt/rng/domainsnapshot.rng +++ b/src/main/resources/libvirt/rng/domainsnapshot.rng @@ -61,6 +61,13 @@ </element> </optional> <optional> + <element name="revertDisks"> + <zeroOrMore> + <ref name="disksnapshot"/> + </zeroOrMore> + </element> + </optional> + <optional> <element name="active"> <choice> <value>0</value> diff --git a/src/main/resources/libvirt/rng/network.rng b/src/main/resources/libvirt/rng/network.rng index 4317572..b7c8551 100644 --- a/src/main/resources/libvirt/rng/network.rng +++ b/src/main/resources/libvirt/rng/network.rng @@ -37,6 +37,16 @@ <text/> </element> + <!-- <title> element --> + <optional> + <ref name="title"/> + </optional> + + <!-- <description> element --> + <optional> + <ref name="description"/> + </optional> + <!-- <metadata> element --> <optional> <ref name="metadata"/> @@ -169,15 +179,7 @@ </element> </optional> <optional> - <element name="driver"> - <attribute name="name"> - <choice> - <value>kvm</value> - <value>vfio</value> - </choice> - </attribute> - <empty/> - </element> + <ref name="hostdevDriver"/> </optional> <optional> <element name="nat"> @@ -256,6 +258,9 @@ <optional> <attribute name="localOnly"><ref name="virYesNo"/></attribute> </optional> + <optional> + <attribute name="register"><ref name="virYesNo"/></attribute> + </optional> </element> </optional> diff --git a/src/main/resources/libvirt/rng/networkport.rng b/src/main/resources/libvirt/rng/networkport.rng index 14db949..5099555 100644 --- a/src/main/resources/libvirt/rng/networkport.rng +++ b/src/main/resources/libvirt/rng/networkport.rng @@ -145,15 +145,7 @@ </optional> <interleave> <optional> - <element name="driver"> - <attribute name="name"> - <choice> - <value>kvm</value> - <value>vfio</value> - </choice> - </attribute> - <empty/> - </element> + <ref name="hostdevDriver"/> </optional> <element name="address"> <ref name="pciaddress"/> diff --git a/src/main/resources/libvirt/rng/nodedev.rng b/src/main/resources/libvirt/rng/nodedev.rng index fba4021..ff07313 100644 --- a/src/main/resources/libvirt/rng/nodedev.rng +++ b/src/main/resources/libvirt/rng/nodedev.rng @@ -869,7 +869,7 @@ <define name="vpdFieldValueFormat"> <data type="string"> - <param name="pattern">[0-9a-zA-F -_,.:;=]{0,255}</param> + <param name="pattern">.{0,255}</param> </data> </define> |