mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
4bc82cd7eb
'virDomainDefAddController' which is used in code-paths which auto-add controllers to the definition such as 'virDomainDefMaybeAddController', 'virDomainDefAddUSBController', 'qemuDomainDefAddDefaultDevices' was adding the controller at the end of the list. However that is not how the XML parser would order the controller in the list as it uses virDomainControllerInsert grouping them by type and additional properties. This would cause that auto-added controllers would re-order: - between first and any subsequent run of the VM (even on commandline) - after a libvirtd/virtqemud restart - after any update of the definition based on the 'define' operation (e.g. virsh edit) To ensure that the ordering of controllers is identical always use virDomainControllerInsert. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
109 lines
4.2 KiB
XML
109 lines
4.2 KiB
XML
<domain type='hvf'>
|
|
<name>test</name>
|
|
<uuid>1b826c23-8767-47ad-a6b5-c83a88277f71</uuid>
|
|
<memory unit='KiB'>4194304</memory>
|
|
<currentMemory unit='KiB'>4194304</currentMemory>
|
|
<vcpu placement='static'>2</vcpu>
|
|
<os firmware='efi'>
|
|
<type arch='x86_64' machine='pc-q35-4.0'>hvm</type>
|
|
<firmware>
|
|
<feature enabled='yes' name='enrolled-keys'/>
|
|
<feature enabled='yes' name='secure-boot'/>
|
|
</firmware>
|
|
<loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader>
|
|
<nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram>
|
|
<boot dev='hd'/>
|
|
</os>
|
|
<features>
|
|
<acpi/>
|
|
<apic/>
|
|
<smm state='on'/>
|
|
</features>
|
|
<cpu mode='custom' match='exact' check='none'>
|
|
<model fallback='forbid'>qemu64</model>
|
|
</cpu>
|
|
<clock offset='utc'>
|
|
<timer name='rtc' tickpolicy='catchup'/>
|
|
<timer name='pit' tickpolicy='delay'/>
|
|
<timer name='hpet' present='no'/>
|
|
</clock>
|
|
<on_poweroff>destroy</on_poweroff>
|
|
<on_reboot>restart</on_reboot>
|
|
<on_crash>restart</on_crash>
|
|
<devices>
|
|
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
|
<disk type='file' device='disk'>
|
|
<driver name='qemu' type='qcow2'/>
|
|
<source file='/var/lib/libvirt/images/test.qcow2'/>
|
|
<target dev='vda' bus='virtio'/>
|
|
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
|
|
</disk>
|
|
<controller type='usb' index='0' model='none'/>
|
|
<controller type='sata' index='0'>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
|
|
</controller>
|
|
<controller type='pci' index='0' model='pcie-root'/>
|
|
<controller type='pci' index='1' model='pcie-root-port'>
|
|
<model name='pcie-root-port'/>
|
|
<target chassis='1' port='0x8'/>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
|
|
</controller>
|
|
<controller type='pci' index='2' model='pcie-root-port'>
|
|
<model name='pcie-root-port'/>
|
|
<target chassis='2' port='0x9'/>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
|
</controller>
|
|
<controller type='pci' index='3' model='pcie-root-port'>
|
|
<model name='pcie-root-port'/>
|
|
<target chassis='3' port='0xa'/>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
|
</controller>
|
|
<controller type='pci' index='4' model='pcie-root-port'>
|
|
<model name='pcie-root-port'/>
|
|
<target chassis='4' port='0xb'/>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
|
|
</controller>
|
|
<controller type='pci' index='5' model='pcie-root-port'>
|
|
<model name='pcie-root-port'/>
|
|
<target chassis='5' port='0xc'/>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
|
|
</controller>
|
|
<controller type='pci' index='6' model='pcie-root-port'>
|
|
<model name='pcie-root-port'/>
|
|
<target chassis='6' port='0xd'/>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
|
|
</controller>
|
|
<controller type='virtio-serial' index='0'>
|
|
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
|
|
</controller>
|
|
<interface type='user'>
|
|
<mac address='52:54:00:9a:e6:c6'/>
|
|
<model type='virtio'/>
|
|
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
|
</interface>
|
|
<serial type='pty'>
|
|
<target type='isa-serial' port='0'>
|
|
<model name='isa-serial'/>
|
|
</target>
|
|
</serial>
|
|
<console type='pty'>
|
|
<target type='serial' port='0'/>
|
|
</console>
|
|
<channel type='unix'>
|
|
<target type='virtio' name='org.qemu.guest_agent.0'/>
|
|
<address type='virtio-serial' controller='0' bus='0' port='1'/>
|
|
</channel>
|
|
<input type='mouse' bus='ps2'/>
|
|
<input type='keyboard' bus='ps2'/>
|
|
<audio id='1' type='none'/>
|
|
<watchdog model='itco' action='reset'/>
|
|
<memballoon model='virtio'>
|
|
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
|
|
</memballoon>
|
|
<rng model='virtio'>
|
|
<backend model='random'>/dev/urandom</backend>
|
|
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
|
|
</rng>
|
|
</devices>
|
|
</domain>
|