On 13 December 2016 at 21:16, Andrew Jones <[email protected]> wrote: > On Tue, Dec 13, 2016 at 10:36:01AM +0000, Peter Maydell wrote: >> This patchset adds support for the Virtualization extensions to QEMU's >> GICv3 emulation. This was the last missing piece that was stopping >> us from turning on the EL2 support in the CPU model, so the patchset >> also adds support for enabling it all on the virt board via the >> '-machine virtualization=on' option. >> >> The result works well enough to allow booting a KVM outer guest kernel >> and then running QEMU + an inner guest under KVM inside it. The outer >> guest KVM also passes the kvm-unit-tests GIC tests. >> > > I've started some testing with this. When I boot an outer (L1) kernel > with more than one cpu allocated I get > > [ 3.441908] CPU: CPUs started in inconsistent modes > [ 3.442787] ------------[ cut here ]------------ > [ 3.445434] WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/smp.c:418 > smp_cpus_done+0x80/0xa0 > ... > > and KVM does not init. Booting with only one cpu I see we do start in EL2 > and KVM does init. I'm booting the L1 kernel through UEFI (AAVMF). Also, > my L1 guest kernel is 4.9 based, but not pure upstream. I can try a more > pure 4.9 kernel with a defconfig later.
Yeah, I don't think I ever tried an SMP config in outer QEMU. This seems like it would be a problem with the boot.c code rather than the new GIC features, though... I'll have a look. thanks -- PMM
