qemu-system-aarch64: Unable to determine GIC version supported by host

Bug #1760069 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Undecided
Unassigned
linux-hwe-edge (Ubuntu)
New
Undecided
Unassigned

Bug Description

I found this issue on a linux-hwe-edge arm64 Moonshot node.

With Xenial + 4.15 HWE Edge kernel, most of the tests in the kvm-unit-test will be skipped:
Running './run_tests.sh -v'
 SKIP selftest-setup (KVM acceleration is probably not supported)
 SKIP selftest-vectors-kernel (KVM acceleration is probably not supported)
 SKIP selftest-vectors-user (KVM acceleration is probably not supported)
 SKIP selftest-smp (KVM acceleration is probably not supported)
 SKIP pci-test (KVM acceleration is probably not supported)
 SKIP pmu (KVM acceleration is probably not supported)
 TESTNAME=gicv2-ipi TIMEOUT=90s ACCEL= ./arm/run arm/gic.flat -smp $((($MAX_SMP < 8)?$MAX_SMP:8)) -machine gic-version=2 -append 'ipi'
 FAIL gicv2-ipi (timeout; duration=90s)
 SKIP gicv3-ipi (qemu-system-aarch64: KVM is currently required for GICv3 emulation)
 TESTNAME=gicv2-active TIMEOUT=90s ACCEL= ./arm/run arm/gic.flat -smp $((($MAX_SMP < 8)?$MAX_SMP:8)) -machine gic-version=2 -append 'active'
 PASS gicv2-active (1 tests)
 SKIP gicv3-active (qemu-system-aarch64: KVM is currently required for GICv3 emulation)
 SKIP psci (KVM acceleration is probably not supported)
 SKIP timer (KVM acceleration is probably not supported)

But with Xenial + 4.13 HWE kernel, it's very different:
 Running './run_tests.sh -v'
 TESTNAME=selftest-setup TIMEOUT=90s ACCEL= ./arm/run arm/selftest.flat -smp 2 -m 256 -append 'setup smp=2 mem=256'
 PASS selftest-setup (2 tests)
 TESTNAME=selftest-vectors-kernel TIMEOUT=90s ACCEL= ./arm/run arm/selftest.flat -smp 1 -append 'vectors-kernel'
 PASS selftest-vectors-kernel (2 tests)
 TESTNAME=selftest-vectors-user TIMEOUT=90s ACCEL= ./arm/run arm/selftest.flat -smp 1 -append 'vectors-user'
 PASS selftest-vectors-user (2 tests)
 TESTNAME=selftest-smp TIMEOUT=90s ACCEL= ./arm/run arm/selftest.flat -smp $MAX_SMP -append 'smp'
 PASS selftest-smp (9 tests)
 TESTNAME=pci-test TIMEOUT=90s ACCEL= ./arm/run arm/pci-test.flat -smp 1
 PASS pci-test (1 tests)
 TESTNAME=pmu TIMEOUT=90s ACCEL= ./arm/run arm/pmu.flat -smp 1
 FAIL pmu (3 tests, 3 unexpected failures)
 TESTNAME=gicv2-ipi TIMEOUT=90s ACCEL= ./arm/run arm/gic.flat -smp $((($MAX_SMP < 8)?$MAX_SMP:8)) -machine gic-version=2 -append 'ipi'
 PASS gicv2-ipi (3 tests)
 SKIP gicv3-ipi (qemu-system-aarch64: Initialization of device kvm-arm-gicv3 failed: error creating in-kernel VGIC: No such device)
 TESTNAME=gicv2-active TIMEOUT=90s ACCEL= ./arm/run arm/gic.flat -smp $((($MAX_SMP < 8)?$MAX_SMP:8)) -machine gic-version=2 -append 'active'
 PASS gicv2-active (1 tests)
 SKIP gicv3-active (qemu-system-aarch64: Initialization of device kvm-arm-gicv3 failed: error creating in-kernel VGIC: No such device)
 TESTNAME=psci TIMEOUT=90s ACCEL= ./arm/run arm/psci.flat -smp $MAX_SMP
 PASS psci (4 tests)
 TESTNAME=timer TIMEOUT=2s ACCEL= ./arm/run arm/timer.flat -smp 1

If you run the command "TESTNAME=selftest-setup TIMEOUT=90s ACCEL= ./arm/run arm/selftest.flat -smp 2 -m 256 -append 'setup smp=2 mem=256'" with 4.15 HWE Edge kernel it will give you more detail:
$ sudo TESTNAME=selftest-setup TIMEOUT=90s ACCEL= ./arm/run arm/selftest.flat -smp 2 -m 256 -append 'setup smp=2 mem=256'
timeout -k 1s --foreground 90s /usr/bin/qemu-system-aarch64 -nodefaults -machine virt,gic-version=host,accel=kvm -cpu host -device virtio-serial-device -device virtconsole,chardev=ctd -chardev testdev,id=ctd -device pci-testdev -display none -serial stdio -kernel arm/selftest.flat -smp 2 -m 256 -append setup smp=2 mem=256 # -initrd /tmp/tmp.WHgJW7rhMI
qemu-system-aarch64: Unable to determine GIC version supported by host
KVM acceleration is probably not supported

It's a bit weird to see a passed test change into a skip one.

 qemu-system-arm 1:2.5+dfsg-5ubuntu10

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.15.0-13-generic 4.15.0-13.14~16.04.1
ProcVersionSignature: User Name 4.15.0-13.14~16.04.1-generic 4.15.10
Uname: Linux 4.15.0-13-generic aarch64
ApportVersion: 2.20.1-0ubuntu2.15
Architecture: arm64
Date: Fri Mar 30 03:22:36 2018
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: linux-hwe-edge
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1760069

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.