schema: domain: Allow interleaving of PCI controller config elements

The 'model' and 'target' element can be freely moved around.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2022-10-13 16:13:47 +02:00
parent 1210074d5e
commit fde40ee4f4

View File

@ -2691,103 +2691,105 @@
<attribute name="type"> <attribute name="type">
<value>pci</value> <value>pci</value>
</attribute> </attribute>
<optional> <interleave>
<element name="model"> <optional>
<attribute name="name"> <element name="model">
<choice> <attribute name="name">
<!-- implementations of "pci-root" --> <choice>
<value>spapr-pci-host-bridge</value> <!-- implementations of "pci-root" -->
<!-- implementations of "pci-bridge" --> <value>spapr-pci-host-bridge</value>
<value>pci-bridge</value> <!-- implementations of "pci-bridge" -->
<!-- implementations of "dmi-to-pci-bridge" --> <value>pci-bridge</value>
<value>i82801b11-bridge</value> <!-- implementations of "dmi-to-pci-bridge" -->
<!-- implementations of "pcie-to-pci-bridge" --> <value>i82801b11-bridge</value>
<value>pcie-pci-bridge</value> <!-- implementations of "pcie-to-pci-bridge" -->
<!-- implementations of "pcie-root-port" --> <value>pcie-pci-bridge</value>
<value>ioh3420</value> <!-- implementations of "pcie-root-port" -->
<value>pcie-root-port</value> <value>ioh3420</value>
<!-- implementations of "pcie-switch-upstream-port" --> <value>pcie-root-port</value>
<value>x3130-upstream</value> <!-- implementations of "pcie-switch-upstream-port" -->
<!-- implementations of "pcie-switch-downstream-port" --> <value>x3130-upstream</value>
<value>xio3130-downstream</value> <!-- implementations of "pcie-switch-downstream-port" -->
<!-- implementations of "pci-expander-bus" --> <value>xio3130-downstream</value>
<value>pxb</value> <!-- implementations of "pci-expander-bus" -->
<!-- implementations of "pcie-expander-bus" --> <value>pxb</value>
<value>pxb-pcie</value> <!-- implementations of "pcie-expander-bus" -->
</choice> <value>pxb-pcie</value>
</attribute> </choice>
<empty/>
</element>
</optional>
<optional>
<element name="target">
<optional>
<attribute name="chassisNr">
<ref name="uint8"/>
</attribute> </attribute>
</optional> <empty/>
<optional> </element>
<attribute name="chassis"> </optional>
<ref name="uint8"/> <optional>
<element name="target">
<optional>
<attribute name="chassisNr">
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="chassis">
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="port">
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="busNr">
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="index">
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="hotplug">
<ref name="virOnOff"/>
</attribute>
</optional>
<optional>
<element name="node">
<ref name="unsignedInt"/>
</element>
</optional>
</element>
</optional>
<!-- *-root controllers have an optional element "pcihole64"-->
<choice>
<group>
<attribute name="model">
<choice>
<value>pci-root</value>
<value>pcie-root</value>
</choice>
</attribute> </attribute>
</optional> <optional>
<optional> <element name="pcihole64">
<attribute name="port"> <ref name="scaledInteger"/>
<ref name="uint8"/> </element>
</optional>
</group>
<group>
<attribute name="model">
<choice>
<value>pci-bridge</value>
<value>dmi-to-pci-bridge</value>
<value>pcie-to-pci-bridge</value>
<value>pcie-root-port</value>
<value>pcie-switch-upstream-port</value>
<value>pcie-switch-downstream-port</value>
<value>pci-expander-bus</value>
<value>pcie-expander-bus</value>
</choice>
</attribute> </attribute>
</optional> </group>
<optional> </choice>
<attribute name="busNr"> </interleave>
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="index">
<ref name="uint8"/>
</attribute>
</optional>
<optional>
<attribute name="hotplug">
<ref name="virOnOff"/>
</attribute>
</optional>
<optional>
<element name="node">
<ref name="unsignedInt"/>
</element>
</optional>
</element>
</optional>
<!-- *-root controllers have an optional element "pcihole64"-->
<choice>
<group>
<attribute name="model">
<choice>
<value>pci-root</value>
<value>pcie-root</value>
</choice>
</attribute>
<optional>
<element name="pcihole64">
<ref name="scaledInteger"/>
</element>
</optional>
</group>
<group>
<attribute name="model">
<choice>
<value>pci-bridge</value>
<value>dmi-to-pci-bridge</value>
<value>pcie-to-pci-bridge</value>
<value>pcie-root-port</value>
<value>pcie-switch-upstream-port</value>
<value>pcie-switch-downstream-port</value>
<value>pci-expander-bus</value>
<value>pcie-expander-bus</value>
</choice>
</attribute>
</group>
</choice>
</group> </group>
<!-- virtio-serial has optional "ports" and "vectors" --> <!-- virtio-serial has optional "ports" and "vectors" -->
<group> <group>