qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/4] target-arm: ARM64: Adding EL1 AARCH32 guest support
@ 2015-02-10 10:50 Greg Bellows
  2015-02-10 10:50 ` [Qemu-devel] [PATCH v4 1/4] target-arm: Add CPU property to disable AArch64 Greg Bellows
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Greg Bellows @ 2015-02-10 10:50 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, christoffer.dall, alex.bennee,
	edgar.iglesias
  Cc: Greg Bellows

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 ...

---
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     | 181 ++++++++++++++++++++++++++++++++++++++++++++++++
 target-arm/kvm64.c      |  38 ++++++++--
 target-arm/op_helper.c  |   6 +-
 8 files changed, 280 insertions(+), 16 deletions(-)

--
1.8.3.2

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-02-11 17:18 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-10 10:50 [Qemu-devel] [PATCH v4 0/4] target-arm: ARM64: Adding EL1 AARCH32 guest support Greg Bellows
2015-02-10 10:50 ` [Qemu-devel] [PATCH v4 1/4] target-arm: Add CPU property to disable AArch64 Greg Bellows
2015-02-11  4:03   ` Peter Maydell
2015-02-11  4:27     ` Greg Bellows
2015-02-11  5:21       ` Peter Maydell
2015-02-10 10:50 ` [Qemu-devel] [PATCH v4 2/4] target-arm: Add feature parsing to virt Greg Bellows
2015-02-10 10:50 ` [Qemu-devel] [PATCH v4 3/4] target-arm: Add 32/64-bit register sync Greg Bellows
2015-02-11  4:13   ` Peter Maydell
2015-02-11  6:08     ` Greg Bellows
2015-02-11  6:20       ` Peter Maydell
2015-02-10 10:50 ` [Qemu-devel] [PATCH v4 4/4] target-arm: Add AArch32 guest support to KVM64 Greg Bellows
2015-02-11  4:16   ` Peter Maydell
2015-02-11  4:50     ` Greg Bellows
2015-02-11 17:18 ` [Qemu-devel] [PATCH v4 0/4] target-arm: ARM64: Adding EL1 AARCH32 guest support Alexander Spyridakis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).