mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
qemu: Enable firmware autoselection
https://bugzilla.redhat.com/show_bug.cgi?id=1564270 Now that everything is prepared for qemu driver we can enable parser feature to allow users define such domains. At the same time, introduce bunch of tests to test the feature. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
d433f3cdd8
commit
68ade25372
@ -6969,7 +6969,8 @@ virDomainDefParserConfig virQEMUDriverDomainDefParserConfig = {
|
||||
.features = VIR_DOMAIN_DEF_FEATURE_MEMORY_HOTPLUG |
|
||||
VIR_DOMAIN_DEF_FEATURE_OFFLINE_VCPUPIN |
|
||||
VIR_DOMAIN_DEF_FEATURE_INDIVIDUAL_VCPUS |
|
||||
VIR_DOMAIN_DEF_FEATURE_USER_ALIAS,
|
||||
VIR_DOMAIN_DEF_FEATURE_USER_ALIAS |
|
||||
VIR_DOMAIN_DEF_FEATURE_FW_AUTOSELECT,
|
||||
};
|
||||
|
||||
|
||||
|
@ -585,7 +585,9 @@ qemucpumock_la_LIBADD = $(MOCKLIBS_LIBS)
|
||||
|
||||
qemuxml2argvtest_SOURCES = \
|
||||
qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \
|
||||
testutils.c testutils.h
|
||||
testutils.c testutils.h \
|
||||
virfilewrapper.c virfilewrapper.h \
|
||||
$(NULL)
|
||||
qemuxml2argvtest_LDADD = libqemutestdriver.la \
|
||||
$(LDADDS) $(LIBXML_LIBS)
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/home/test \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-aarch64 \
|
||||
-name guest=aarch64test,debug-threads=on \
|
||||
-S \
|
||||
-object secret,id=masterKey0,format=raw,\
|
||||
file=/tmp/lib/domain--1-aarch64test/master-key.aes \
|
||||
-machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
|
||||
-cpu cortex-a53 \
|
||||
-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,\
|
||||
readonly=on \
|
||||
-drive file=/var/lib/libvirt/qemu/nvram/aarch64test_VARS.fd,if=pflash,\
|
||||
format=raw,unit=1 \
|
||||
-m 1024 \
|
||||
-realtime mlock=off \
|
||||
-smp 1,sockets=1,cores=1,threads=1 \
|
||||
-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \
|
||||
-display none \
|
||||
-no-user-config \
|
||||
-nodefaults \
|
||||
-chardev socket,id=charmonitor,fd=1729,server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-no-acpi \
|
||||
-boot strict=on \
|
||||
-kernel /aarch64.kernel \
|
||||
-initrd /aarch64.initrd \
|
||||
-append 'earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait' \
|
||||
-dtb /aarch64.dtb \
|
||||
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
|
||||
resourcecontrol=deny \
|
||||
-msg timestamp=on
|
30
tests/qemuxml2argvdata/aarch64-os-firmware-efi.xml
Normal file
30
tests/qemuxml2argvdata/aarch64-os-firmware-efi.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<domain type='qemu'>
|
||||
<name>aarch64test</name>
|
||||
<uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
|
||||
<memory unit='KiB'>1048576</memory>
|
||||
<currentMemory unit='KiB'>1048576</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os firmware='efi'>
|
||||
<type arch='aarch64' machine='virt-4.0'>hvm</type>
|
||||
<kernel>/aarch64.kernel</kernel>
|
||||
<initrd>/aarch64.initrd</initrd>
|
||||
<cmdline>earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait</cmdline>
|
||||
<dtb>/aarch64.dtb</dtb>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<features>
|
||||
<apic/>
|
||||
<pae/>
|
||||
<gic version='2'/>
|
||||
</features>
|
||||
<cpu mode='custom' match='exact' check='none'>
|
||||
<model fallback='allow'>cortex-a53</model>
|
||||
</cpu>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-aarch64</emulator>
|
||||
</devices>
|
||||
</domain>
|
39
tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
Normal file
39
tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
Normal file
@ -0,0 +1,39 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/home/test \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-x86_64 \
|
||||
-name guest=fedora,debug-threads=on \
|
||||
-S \
|
||||
-object secret,id=masterKey0,format=raw,\
|
||||
file=/tmp/lib/domain--1-fedora/master-key.aes \
|
||||
-machine pc-q35-4.0,accel=kvm,usb=off,dump-guest-core=off \
|
||||
-bios /usr/share/seabios/bios-256k.bin \
|
||||
-m 8 \
|
||||
-realtime mlock=off \
|
||||
-smp 1,sockets=1,cores=1,threads=1 \
|
||||
-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
|
||||
-display none \
|
||||
-no-user-config \
|
||||
-nodefaults \
|
||||
-chardev socket,id=charmonitor,fd=1729,server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-global ICH9-LPC.disable_s3=0 \
|
||||
-global ICH9-LPC.disable_s4=1 \
|
||||
-boot menu=on,strict=on \
|
||||
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
|
||||
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
|
||||
-device ioh3420,port=0x8,chassis=3,id=pci.3,bus=pcie.0,addr=0x1 \
|
||||
-device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x1d.0x7 \
|
||||
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,\
|
||||
addr=0x1d \
|
||||
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x1d.0x1 \
|
||||
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x1d.0x2 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x1 \
|
||||
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
|
||||
resourcecontrol=deny \
|
||||
-msg timestamp=on
|
68
tests/qemuxml2argvdata/os-firmware-bios.xml
Normal file
68
tests/qemuxml2argvdata/os-firmware-bios.xml
Normal file
@ -0,0 +1,68 @@
|
||||
<domain type='kvm'>
|
||||
<name>fedora</name>
|
||||
<uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid>
|
||||
<memory unit='KiB'>8192</memory>
|
||||
<currentMemory unit='KiB'>8192</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os firmware='bios'>
|
||||
<type arch='x86_64' machine='pc-q35-4.0'>hvm</type>
|
||||
<loader secure='no'/>
|
||||
<nvram>/var/lib/libvirt/qemu/nvram/fedora_VARS.fd</nvram>
|
||||
<boot dev='hd'/>
|
||||
<bootmenu enable='yes'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<pm>
|
||||
<suspend-to-mem enabled='yes'/>
|
||||
<suspend-to-disk enabled='no'/>
|
||||
</pm>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<controller type='usb' index='0' model='ich9-ehci1'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci1'>
|
||||
<master startport='0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci2'>
|
||||
<master startport='2'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci3'>
|
||||
<master startport='4'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/>
|
||||
</controller>
|
||||
<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='dmi-to-pci-bridge'>
|
||||
<model name='i82801b11-bridge'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='2' model='pci-bridge'>
|
||||
<model name='pci-bridge'/>
|
||||
<target chassisNr='2'/>
|
||||
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='3' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='3' port='0x8'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||
</controller>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
</domain>
|
@ -0,0 +1,43 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/home/test \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-x86_64 \
|
||||
-name guest=fedora,debug-threads=on \
|
||||
-S \
|
||||
-object secret,id=masterKey0,format=raw,\
|
||||
file=/tmp/lib/domain--1-fedora/master-key.aes \
|
||||
-machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off \
|
||||
-global driver=cfi.pflash01,property=secure,value=on \
|
||||
-drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,\
|
||||
readonly=on \
|
||||
-drive file=/var/lib/libvirt/qemu/nvram/fedora_VARS.fd,if=pflash,format=raw,\
|
||||
unit=1 \
|
||||
-m 8 \
|
||||
-realtime mlock=off \
|
||||
-smp 1,sockets=1,cores=1,threads=1 \
|
||||
-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
|
||||
-display none \
|
||||
-no-user-config \
|
||||
-nodefaults \
|
||||
-chardev socket,id=charmonitor,fd=1729,server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-global ICH9-LPC.disable_s3=0 \
|
||||
-global ICH9-LPC.disable_s4=1 \
|
||||
-boot menu=on,strict=on \
|
||||
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
|
||||
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
|
||||
-device ioh3420,port=0x8,chassis=3,id=pci.3,bus=pcie.0,addr=0x1 \
|
||||
-device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x1d.0x7 \
|
||||
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,\
|
||||
addr=0x1d \
|
||||
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x1d.0x1 \
|
||||
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x1d.0x2 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x1 \
|
||||
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
|
||||
resourcecontrol=deny \
|
||||
-msg timestamp=on
|
68
tests/qemuxml2argvdata/os-firmware-efi-secboot.xml
Normal file
68
tests/qemuxml2argvdata/os-firmware-efi-secboot.xml
Normal file
@ -0,0 +1,68 @@
|
||||
<domain type='kvm'>
|
||||
<name>fedora</name>
|
||||
<uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid>
|
||||
<memory unit='KiB'>8192</memory>
|
||||
<currentMemory unit='KiB'>8192</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os firmware='efi'>
|
||||
<type arch='x86_64' machine='pc-q35-4.0'>hvm</type>
|
||||
<loader secure='yes'/>
|
||||
<nvram>/var/lib/libvirt/qemu/nvram/fedora_VARS.fd</nvram>
|
||||
<boot dev='hd'/>
|
||||
<bootmenu enable='yes'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<pm>
|
||||
<suspend-to-mem enabled='yes'/>
|
||||
<suspend-to-disk enabled='no'/>
|
||||
</pm>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<controller type='usb' index='0' model='ich9-ehci1'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci1'>
|
||||
<master startport='0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci2'>
|
||||
<master startport='2'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci3'>
|
||||
<master startport='4'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/>
|
||||
</controller>
|
||||
<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='dmi-to-pci-bridge'>
|
||||
<model name='i82801b11-bridge'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='2' model='pci-bridge'>
|
||||
<model name='pci-bridge'/>
|
||||
<target chassisNr='2'/>
|
||||
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='3' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='3' port='0x8'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||
</controller>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
</domain>
|
42
tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
Normal file
42
tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
Normal file
@ -0,0 +1,42 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/home/test \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-x86_64 \
|
||||
-name guest=fedora,debug-threads=on \
|
||||
-S \
|
||||
-object secret,id=masterKey0,format=raw,\
|
||||
file=/tmp/lib/domain--1-fedora/master-key.aes \
|
||||
-machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off \
|
||||
-drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,\
|
||||
readonly=on \
|
||||
-drive file=/var/lib/libvirt/qemu/nvram/fedora_VARS.fd,if=pflash,format=raw,\
|
||||
unit=1 \
|
||||
-m 8 \
|
||||
-realtime mlock=off \
|
||||
-smp 1,sockets=1,cores=1,threads=1 \
|
||||
-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
|
||||
-display none \
|
||||
-no-user-config \
|
||||
-nodefaults \
|
||||
-chardev socket,id=charmonitor,fd=1729,server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-global ICH9-LPC.disable_s3=0 \
|
||||
-global ICH9-LPC.disable_s4=1 \
|
||||
-boot menu=on,strict=on \
|
||||
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
|
||||
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
|
||||
-device ioh3420,port=0x8,chassis=3,id=pci.3,bus=pcie.0,addr=0x1 \
|
||||
-device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x1d.0x7 \
|
||||
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,\
|
||||
addr=0x1d \
|
||||
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x1d.0x1 \
|
||||
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x1d.0x2 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x1 \
|
||||
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
|
||||
resourcecontrol=deny \
|
||||
-msg timestamp=on
|
68
tests/qemuxml2argvdata/os-firmware-efi.xml
Normal file
68
tests/qemuxml2argvdata/os-firmware-efi.xml
Normal file
@ -0,0 +1,68 @@
|
||||
<domain type='kvm'>
|
||||
<name>fedora</name>
|
||||
<uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid>
|
||||
<memory unit='KiB'>8192</memory>
|
||||
<currentMemory unit='KiB'>8192</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os firmware='efi'>
|
||||
<type arch='x86_64' machine='pc-q35-4.0'>hvm</type>
|
||||
<loader secure='no'/>
|
||||
<nvram>/var/lib/libvirt/qemu/nvram/fedora_VARS.fd</nvram>
|
||||
<boot dev='hd'/>
|
||||
<bootmenu enable='yes'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<pm>
|
||||
<suspend-to-mem enabled='yes'/>
|
||||
<suspend-to-disk enabled='no'/>
|
||||
</pm>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<controller type='usb' index='0' model='ich9-ehci1'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci1'>
|
||||
<master startport='0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci2'>
|
||||
<master startport='2'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='ich9-uhci3'>
|
||||
<master startport='4'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/>
|
||||
</controller>
|
||||
<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='dmi-to-pci-bridge'>
|
||||
<model name='i82801b11-bridge'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='2' model='pci-bridge'>
|
||||
<model name='pci-bridge'/>
|
||||
<target chassisNr='2'/>
|
||||
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='3' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='3' port='0x8'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||
</controller>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
</domain>
|
@ -23,6 +23,8 @@
|
||||
# include "virstring.h"
|
||||
# include "storage/storage_driver.h"
|
||||
# include "virmock.h"
|
||||
# include "virfilewrapper.h"
|
||||
# include "configmake.h"
|
||||
|
||||
# define LIBVIRT_QEMU_CAPSPRIV_H_ALLOW
|
||||
# include "qemu/qemu_capspriv.h"
|
||||
@ -705,6 +707,9 @@ mymain(void)
|
||||
VIR_FREE(driver.config->memoryBackingDir);
|
||||
if (VIR_STRDUP_QUIET(driver.config->memoryBackingDir, "/var/lib/libvirt/qemu/ram") < 0)
|
||||
return EXIT_FAILURE;
|
||||
VIR_FREE(driver.config->nvramDir);
|
||||
if (VIR_STRDUP(driver.config->nvramDir, "/var/lib/libvirt/qemu/nvram") < 0)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
capslatest = virHashCreate(4, virHashValueFree);
|
||||
if (!capslatest)
|
||||
@ -724,6 +729,13 @@ mymain(void)
|
||||
|
||||
VIR_TEST_VERBOSE("\n");
|
||||
|
||||
virFileWrapperAddPrefix(SYSCONFDIR "/qemu/firmware",
|
||||
abs_srcdir "/qemufirmwaredata/etc/qemu/firmware");
|
||||
virFileWrapperAddPrefix(PREFIX "/share/qemu/firmware",
|
||||
abs_srcdir "/qemufirmwaredata/usr/share/qemu/firmware");
|
||||
virFileWrapperAddPrefix("/home/user/.config/qemu/firmware",
|
||||
abs_srcdir "/qemufirmwaredata/home/user/.config/qemu/firmware");
|
||||
|
||||
/**
|
||||
* The following set of macros allows testing of XML -> argv conversion with a
|
||||
* real set of capabilities gathered from a real qemu copy. It is desired to use
|
||||
@ -3020,6 +3032,11 @@ mymain(void)
|
||||
DO_TEST_CAPS_ARCH_LATEST("x86_64-pc-graphics", "x86_64");
|
||||
DO_TEST_CAPS_ARCH_LATEST("x86_64-q35-graphics", "x86_64");
|
||||
|
||||
DO_TEST_CAPS_LATEST("os-firmware-bios");
|
||||
DO_TEST_CAPS_LATEST("os-firmware-efi");
|
||||
DO_TEST_CAPS_LATEST("os-firmware-efi-secboot");
|
||||
DO_TEST_CAPS_ARCH_LATEST("aarch64-os-firmware-efi", "aarch64");
|
||||
|
||||
if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
|
||||
virFileDeleteTree(fakerootdir);
|
||||
|
||||
|
1
tests/qemuxml2xmloutdata/aarch64-os-firmware-efi.xml
Symbolic link
1
tests/qemuxml2xmloutdata/aarch64-os-firmware-efi.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/aarch64-os-firmware-efi.xml
|
1
tests/qemuxml2xmloutdata/os-firmware-bios.xml
Symbolic link
1
tests/qemuxml2xmloutdata/os-firmware-bios.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/os-firmware-bios.xml
|
1
tests/qemuxml2xmloutdata/os-firmware-efi-secboot.xml
Symbolic link
1
tests/qemuxml2xmloutdata/os-firmware-efi-secboot.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/os-firmware-efi-secboot.xml
|
1
tests/qemuxml2xmloutdata/os-firmware-efi.xml
Symbolic link
1
tests/qemuxml2xmloutdata/os-firmware-efi.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/os-firmware-efi.xml
|
@ -1023,9 +1023,36 @@ mymain(void)
|
||||
DO_TEST("smbios", NONE);
|
||||
DO_TEST("smbios-multiple-type2", NONE);
|
||||
|
||||
DO_TEST("os-firmware-bios",
|
||||
QEMU_CAPS_DEVICE_PCI_BRIDGE,
|
||||
QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
|
||||
QEMU_CAPS_DEVICE_IOH3420,
|
||||
QEMU_CAPS_ICH9_AHCI,
|
||||
QEMU_CAPS_ICH9_USB_EHCI1,
|
||||
QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
|
||||
QEMU_CAPS_DEVICE_QXL);
|
||||
DO_TEST("os-firmware-efi",
|
||||
QEMU_CAPS_DEVICE_PCI_BRIDGE,
|
||||
QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
|
||||
QEMU_CAPS_DEVICE_IOH3420,
|
||||
QEMU_CAPS_ICH9_AHCI,
|
||||
QEMU_CAPS_ICH9_USB_EHCI1,
|
||||
QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
|
||||
QEMU_CAPS_DEVICE_QXL);
|
||||
DO_TEST("os-firmware-efi-secboot",
|
||||
QEMU_CAPS_DEVICE_PCI_BRIDGE,
|
||||
QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
|
||||
QEMU_CAPS_DEVICE_IOH3420,
|
||||
QEMU_CAPS_ICH9_AHCI,
|
||||
QEMU_CAPS_ICH9_USB_EHCI1,
|
||||
QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
|
||||
QEMU_CAPS_DEVICE_QXL);
|
||||
|
||||
DO_TEST("aarch64-aavmf-virtio-mmio",
|
||||
QEMU_CAPS_DEVICE_VIRTIO_MMIO,
|
||||
QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
|
||||
DO_TEST("aarch64-os-firmware-efi",
|
||||
QEMU_CAPS_DEVICE_VIRTIO_MMIO);
|
||||
DO_TEST("aarch64-virtio-pci-default",
|
||||
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,
|
||||
QEMU_CAPS_DEVICE_VIRTIO_MMIO,
|
||||
|
Loading…
Reference in New Issue
Block a user