diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 1f28de6194..1f20189e89 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6741,6 +6741,11 @@ qemuAppendDomainFeaturesMachineParam(virBuffer *buf, virBufferAsprintf(buf, ",i8042=%s", str); } + if (def->features[VIR_DOMAIN_FEATURE_AIA] != VIR_DOMAIN_AIA_DEFAULT) { + const char *str = virDomainAIATypeToString(def->features[VIR_DOMAIN_FEATURE_AIA]); + virBufferAsprintf(buf, ",aia=%s", str); + } + return 0; } diff --git a/tests/qemuxmlconfdata/riscv64-virt-features-aia.riscv64-latest.args b/tests/qemuxmlconfdata/riscv64-virt-features-aia.riscv64-latest.args new file mode 100644 index 0000000000..0256026ba4 --- /dev/null +++ b/tests/qemuxmlconfdata/riscv64-virt-features-aia.riscv64-latest.args @@ -0,0 +1,31 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-riscv64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-machine virt,usb=off,aia=none,dump-guest-core=off,memory-backend=riscv_virt_board.ram,acpi=off \ +-accel tcg \ +-cpu rv64 \ +-m size=4194304k \ +-object '{"qom-type":"memory-backend-ram","id":"riscv_virt_board.ram","size":4294967296}' \ +-overcommit mem-lock=off \ +-smp 4,sockets=4,cores=1,threads=1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxmlconfdata/riscv64-virt-features-aia.riscv64-latest.xml b/tests/qemuxmlconfdata/riscv64-virt-features-aia.riscv64-latest.xml new file mode 120000 index 0000000000..1ab55fc10e --- /dev/null +++ b/tests/qemuxmlconfdata/riscv64-virt-features-aia.riscv64-latest.xml @@ -0,0 +1 @@ +riscv64-virt-features-aia.xml \ No newline at end of file diff --git a/tests/qemuxmlconfdata/riscv64-virt-features-aia.xml b/tests/qemuxmlconfdata/riscv64-virt-features-aia.xml new file mode 100644 index 0000000000..60bbb82c74 --- /dev/null +++ b/tests/qemuxmlconfdata/riscv64-virt-features-aia.xml @@ -0,0 +1,27 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 4194304 + 4194304 + 4 + + hvm + + + + + + + rv64 + + + destroy + restart + destroy + + /usr/bin/qemu-system-riscv64 + + + diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c index 5c95a49116..34d38f2c4b 100644 --- a/tests/qemuxmlconftest.c +++ b/tests/qemuxmlconftest.c @@ -2930,6 +2930,8 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("x86_64-default-cpu-tcg-q35-4.2", "x86_64"); DO_TEST_CAPS_ARCH_LATEST("x86_64-default-cpu-tcg-features", "x86_64"); + DO_TEST_CAPS_ARCH_LATEST("riscv64-virt-features-aia", "riscv64"); + DO_TEST_CAPS_LATEST("virtio-9p-multidevs"); DO_TEST_CAPS_LATEST("virtio-9p-createmode");