qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode
@ 2014-10-09 14:30 Peter Maydell
  2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 1/7] target-arm: add powered off cpu state Peter Maydell
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Peter Maydell @ 2014-10-09 14:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: Greg Bellows, Ard Biesheuvel, patches

This series adds PSCI support to ARM and AArch64 system emulation
when running in TCG mode. It's an update of the patchsent Ard
sent out earlier in September which in turn is based on work
by Rob Herring.

Changes v5->v6:
 * minor rebasing
 * redid the way that PSCI is plumbed into SMC/HVC handling,
   to fit into the support for EL2/EL3 which has landed since
   v5. In particular we now test for whether this is a PSCI
   call as a separate step from actually doing the call, since
   we want to prefer doing PSCI to UNDEF, but UNDEF will happen
   first if it happens at all.

NB: this works for the virt board for both 32 bit and 64 bit
CPUs. There is one bug I've seen where if you have an SMP
configuration of 32 bit CPUs and do a guest reset then the
guest misbehaves (segfaults, etc) after the reboot when it
gets up to userspace. I'm not sure if this is the fault of
these patches or just a revealed bug, so I'm sending them
out for review anyway and will investigate further...

thanks
-- PMM

Ard Biesheuvel (1):
  target-arm: add missing PSCI constants needed for PSCI emulation

Peter Maydell (2):
  target-arm: Handle SMC/HVC undef-if-no-ELx in pre_* helpers
  target-arm: Add support for A32 and T32 HVC and SMC insns

Rob Herring (4):
  target-arm: add powered off cpu state
  target-arm: do not set do_interrupt handlers for ARM and AArch64 user
    modes
  target-arm: add emulation of PSCI calls for system emulation
  arm/virt: enable PSCI emulation support for system emulation

 hw/arm/virt.c              |  82 +++++++--------
 target-arm/Makefile.objs   |   1 +
 target-arm/cpu-qom.h       |   7 ++
 target-arm/cpu.c           |  20 +++-
 target-arm/cpu.h           |   6 ++
 target-arm/cpu64.c         |   2 +
 target-arm/helper-a64.c    |   9 ++
 target-arm/helper.c        |  11 ++-
 target-arm/internals.h     |  22 +++++
 target-arm/kvm-consts.h    |  40 ++++++++
 target-arm/machine.c       |   5 +-
 target-arm/op_helper.c     |  33 +++++--
 target-arm/psci.c          | 242 +++++++++++++++++++++++++++++++++++++++++++++
 target-arm/translate-a64.c |   4 +-
 target-arm/translate.c     | 103 ++++++++++++++++---
 target-arm/translate.h     |   2 +
 16 files changed, 513 insertions(+), 76 deletions(-)
 create mode 100644 target-arm/psci.c

-- 
1.9.1

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

end of thread, other threads:[~2014-10-10 11:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-09 14:30 [Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 1/7] target-arm: add powered off cpu state Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 2/7] target-arm: do not set do_interrupt handlers for ARM and AArch64 user modes Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 3/7] target-arm: add missing PSCI constants needed for PSCI emulation Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 4/7] target-arm: Handle SMC/HVC undef-if-no-ELx in pre_* helpers Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 5/7] target-arm: Add support for A32 and T32 HVC and SMC insns Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 6/7] target-arm: add emulation of PSCI calls for system emulation Peter Maydell
2014-10-09 14:30 ` [Qemu-devel] [PATCH v5 7/7] arm/virt: enable PSCI emulation support " Peter Maydell
2014-10-10 10:42 ` [Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode Ard Biesheuvel
2014-10-10 10:56   ` Peter Maydell
2014-10-10 11:02     ` Ard Biesheuvel
2014-10-10 11:22       ` Peter Maydell
2014-10-10 11:34         ` Ard Biesheuvel

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