[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
- [Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode,
Peter Maydell <=
- [Qemu-devel] [PATCH v5 1/7] target-arm: add powered off cpu state, Peter Maydell, 2014/10/09
- [Qemu-devel] [PATCH v5 7/7] arm/virt: enable PSCI emulation support for system emulation, Peter Maydell, 2014/10/09
- [Qemu-devel] [PATCH v5 4/7] target-arm: Handle SMC/HVC undef-if-no-ELx in pre_* helpers, Peter Maydell, 2014/10/09
- [Qemu-devel] [PATCH v5 3/7] target-arm: add missing PSCI constants needed for PSCI emulation, Peter Maydell, 2014/10/09
- [Qemu-devel] [PATCH v5 5/7] target-arm: Add support for A32 and T32 HVC and SMC insns, Peter Maydell, 2014/10/09
- [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
- [Qemu-devel] [PATCH v5 6/7] target-arm: add emulation of PSCI calls for system emulation, Peter Maydell, 2014/10/09
- Re: [Qemu-devel] [PATCH v5 0/7] ARM: add PSCI 0.2 support in TCG mode, Ard Biesheuvel, 2014/10/10