Folks, I've been playing a bit with KVM on an A15 model, and did some changes to support booting on an SMP host (SMP guest is currently unsupported, but I'm looking at it). I've rebased Christoffer's patches on top of Catalin's v3.1 branch (which includes support for LPAE as well as a bunch of other A15 related patches like timers, platform support...). My changes mainly revolve around getting the secondary CPUs to be correctly initialized (non-secure mode, GIC setup, HYP stack pages) and a change to use the virtualized MPIDR so that a SMP-on-UP kernel boots correctly. The kernel code is located on the following branch: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm and the boot-wrapper is stashed there: git://linux-arm.org/boot-wrapper.git kvm-smp Please do not consider any of these as stable branches, as I indent to rebase them frequently. Comments are of course very welcome. M. Kernel changes: fixup! ARM: local timers: Add A15 architected timer support ARM: KVM: Move kvm_guest_enter/exit into non-preemptible section ARM: KVM: fix idmap compilation when !CONFIG_ARM_LPAE ARM: KVM: perform hypervisor init on all online CPUs ARM: KVM: fix guest view of MPIDR Boot-wrapper changes: KVM-A15: boot-wrapper: fix non-secure SMP boot -- Jazz is not dead. It just smells funny...