Added support for running an AArch32 guest on a AArch64 KVM host. Support has only been added to the QEMU machvirt machine. The addition of CPU properties specifiable from the command line were added to allow disablement of AArch64 execution state hereby forcing EL1 to be AArch32. The new CPU command line property is "aarch64=on/off" that is specified as follows:
aarch64-softmmu/qemu-system-aarch64 -M virt -cpu cortex-a57,aarch64=off ... --- v1 -> v2 - Replaced custom property parsing with use of generic CPU property parser - Added CPU property registration - Fixed mulitple property handling in virt.c - Removed unnecessary kernel load changes v2 -> v3 - Fix KVM64/AArch64 hang by conditionalizing register sync - Conditionalize 64-bit interrupt handler setting of aarch64 Greg Bellows (4): target-arm: Add CPU property to disable AArch64 target-arm: Add feature parsing to virt target-arm: Add 32/64-bit register sync target-arm: Add AArch32 guest support to KVM64 hw/arm/virt.c | 20 +++++++++-- target-arm/cpu.c | 6 +++- target-arm/cpu64.c | 29 ++++++++++++++++ target-arm/helper-a64.c | 9 +++-- target-arm/internals.h | 89 +++++++++++++++++++++++++++++++++++++++++++++++++ target-arm/kvm64.c | 33 +++++++++++++++--- target-arm/op_helper.c | 6 ++-- 7 files changed, 175 insertions(+), 17 deletions(-) -- 1.8.3.2