qemu-e2k/target-arm
Peter Maydell 5de164304a target-arm: Allow secondary KVM CPUs to be booted via PSCI
New ARM boards are generally expected to boot their secondary CPUs
via the PSCI interface, rather than ad-hoc "loop around in holding
pen code" as hw/arm/boot.c implements. In particular this is
necessary for mach-virt kernels. For KVM we achieve this by creating
the VCPUs with a feature flag marking them as starting in PSCI
powered-down state; the guest kernel will then make a PSCI call
(implemented in the host kernel) to start the secondaries at
an address of its choosing once it has got the primary CPU up.

Implement this setting of the feature flag, controlled by a
qdev property for ARMCPU, which board code can set if it is a
PSCI system.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Message-id: 1385140638-10444-7-git-send-email-peter.maydell@linaro.org
2013-12-10 13:28:30 +00:00
..
Makefile.objs Makefile.target: CONFIG_NO_* variables removed 2013-10-16 18:21:00 +02:00
arm-semi.c exec: Change cpu_memory_rw_debug() argument to CPUState 2013-07-23 02:41:33 +02:00
cpu-qom.h target-arm: Allow secondary KVM CPUs to be booted via PSCI 2013-12-10 13:28:30 +00:00
cpu.c target-arm: Allow secondary KVM CPUs to be booted via PSCI 2013-12-10 13:28:30 +00:00
cpu.h target-arm: Provide mechanism for getting KVM constants even if not CONFIG_KVM 2013-12-10 13:28:29 +00:00
cpu64.c target-arm: Add AArch64 gdbstub support 2013-09-10 19:11:28 +01:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
gdbstub64.c target-arm: Add AArch64 gdbstub support 2013-09-10 19:11:28 +01:00
helper.c target-arm: sort TCG cpreg list by KVM-style 64 bit ID number 2013-10-31 14:00:16 +01:00
helper.h tcg: Remove stray semi-colons from target-*/helper.h 2013-10-10 11:43:37 -07:00
iwmmxt_helper.c misc: Use new rotate functions 2013-09-25 21:23:05 +02:00
kvm-consts.h target-arm: Provide PSCI constants to generic QEMU code 2013-12-10 13:28:30 +00:00
kvm-stub.c target-arm: Initialize cpreg list from KVM when using KVM 2013-06-25 18:16:10 +01:00
kvm.c target-arm: Allow secondary KVM CPUs to be booted via PSCI 2013-12-10 13:28:30 +00:00
kvm_arm.h target-arm: Initialize cpreg list from KVM when using KVM 2013-06-25 18:16:10 +01:00
machine.c target-arm: Prepare translation for AArch64 code 2013-09-10 19:11:28 +01:00
neon_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
op_addsub.h Correct spelling of licensed 2011-07-23 11:26:12 -05:00
op_helper.c cpu: Move halted and interrupt_request fields to CPUState 2013-03-12 10:35:55 +01:00
translate-a64.c target-arm: Add AArch64 translation stub 2013-09-10 19:11:28 +01:00
translate.c tcg: Move helper registration into tcg_context_init 2013-10-10 11:43:37 -07:00
translate.h target-arm: Add AArch64 translation stub 2013-09-10 19:11:28 +01:00