tests/acceptance: Add a 'virt_kvm' test using the GICv3

The current 'virt_kvm' test is restricted to GICv2, but can also
work with a GICv3. Duplicate it but add a GICv3 test which can be
tested on some hardware.

Noticed while running:

 $ avocado --show=app run -t machine:virt tests/acceptance/
 ...
 (2/6) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm: ERROR: Unexpected empty reply from server (1.82 s)

The job.log content is:

  L0351 DEBUG| Output: 'qemu-system-aarch64: host does not support in-kernel GICv2 emulation\n'

With this patch:

 $ avocado --show=app run -t device:gicv3 tests/acceptance/
 (1/1) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv3: PASS (55.10 s)

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20200929224857.1225107-1-philmd@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2020-09-29 21:33:07 +02:00
parent 7fb1f203d7
commit 9923375807

View file

@ -182,10 +182,11 @@ class BootLinuxAarch64(BootLinux):
self.add_common_args()
self.launch_and_wait()
def test_virt_kvm(self):
def test_virt_kvm_gicv2(self):
"""
:avocado: tags=accel:kvm
:avocado: tags=cpu:host
:avocado: tags=device:gicv2
"""
if not kvm_available(self.arch, self.qemu_bin):
self.cancel(KVM_NOT_AVAILABLE)
@ -195,6 +196,20 @@ class BootLinuxAarch64(BootLinux):
self.add_common_args()
self.launch_and_wait()
def test_virt_kvm_gicv3(self):
"""
:avocado: tags=accel:kvm
:avocado: tags=cpu:host
:avocado: tags=device:gicv3
"""
if not kvm_available(self.arch, self.qemu_bin):
self.cancel(KVM_NOT_AVAILABLE)
self.vm.add_args("-accel", "kvm")
self.vm.add_args("-cpu", "host")
self.vm.add_args("-machine", "virt,gic-version=3")
self.add_common_args()
self.launch_and_wait()
class BootLinuxPPC64(BootLinux):
"""