qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode


From: Peter Maydell
Subject: [Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode
Date: Thu, 9 Oct 2014 15:30:21 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]