On Thu, Feb 12, 2015 at 5:10 PM, Edgar E. Iglesias <edgar.igles...@gmail.com > wrote:
> On Thu, Feb 12, 2015 at 02:49:06PM +0800, Greg Bellows wrote: > > 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 ... > > Thanks for working on this Greg! > > Reviewed-by: Edgar E. Iglesias <edgar.igles...@xilinx.com> > on the whole series. > > Cheers, > Edgar > > > > > > > --- > > > > v6 -> v7 > > - Fix comment issues > > > > v5 -> v6 > > - Reorder conditionals in 64_to_32 for readability. > > > > v3 -> v4 > > - Move and fix sync functions to properly handle current EL/PL > > - Replace use of strtok > > - Add disablement of aarch64 option if KVM disabled > > - Revert and update AArch64 check on vcpu init to not check for AARch64 > feature > > but rather AArch64 family type. > > - Relocate register sync on get > > - add missing env->aarch64 refresh after pstate fetch > > > > v2 -> v3 > > - Fix KVM64/AArch64 hang by conditionalizing register sync > > - Conditionalize 64-bit interrupt handler setting of aarch64 > > > > 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 > > > > 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 | 5 +- > > target-arm/cpu.h | 2 + > > target-arm/cpu64.c | 39 +++++++++ > > target-arm/helper-a64.c | 5 +- > > target-arm/helper.c | 211 > ++++++++++++++++++++++++++++++++++++++++++++++++ > > target-arm/kvm64.c | 36 ++++++++- > > target-arm/op_helper.c | 6 +- > > 8 files changed, 309 insertions(+), 15 deletions(-) > > > > -- > > 1.8.3.2 > > > Thanks Edgar. I found an issue on the KVM side that I am addressing and testing, but the testing is slow.