/* -cpu ...,aarch64=off is not detectable via qmp at this point */
virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_AARCH64_OFF);
+
+ /* gic is arm specific */
+ virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACH_VIRT_GIC_VERSION);
break;
case VIR_ARCH_PPC64:
virQEMUCapsSet(qemuCaps, QEMU_CAPS_VHOSTUSER_MULTIQUEUE);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_SMM_OPT);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_SDL_GL);
- virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACH_VIRT_GIC_VERSION);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_KERNEL_IRQCHIP_SPLIT);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_EGL_HEADLESS);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_NUMA_DIST);
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='dea-key-wrap'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='chardev-file-append'/>
<flag name='vserport-change-event'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-keyboard'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
- <flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a57 \
-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,unit=1 \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=kvm,usb=off,dump-guest-core=off \
+-machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=2 \
-cpu host \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a57 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a57 \
-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,unit=1 \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name QEMUGuest1 \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name QEMUGuest1 \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name aarch64-vgpu \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a57 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64-vgpu \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a57 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt-2.6,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt-2.6,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64-virt-default-nic \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name aarch64test \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-cpu cortex-a53 \
-m 1024 \
-realtime mlock=off \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 512 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 512 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 512 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
/usr/bin/qemu-system-aarch64 \
-name guest \
-S \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \
-m 512 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \