xemu/hw/arm
Peter Maydell 4824a61a6d hw/arm/virt: Assume EL3 boot rom will handle PSCI if one is provided
If the user passes us an EL3 boot rom, then it is going to want to
implement the PSCI interface itself. In this case, disable QEMU's
internal PSCI implementation so it does not get in the way, and
instead start all CPUs in an SMP configuration at once (the boot
rom will catch them all and pen up the secondaries until needed).
The boot rom code is also responsible for editing the device tree
to include any necessary information about its own PSCI implementation
before eventually passing it to a NonSecure guest.

(This "start all CPUs at once" approach is what both ARM Trusted
Firmware and UEFI expect, since it is what the ARM Foundation Model
does; the other approach would be to provide some emulated hardware
for "start the secondaries" but this is simplest.)

This is a compatibility break, but I don't believe that anybody
was using a secure boot ROM with an SMP configuration. Such a setup
would be somewhat broken since there was nothing preventing nonsecure
guest code from calling the QEMU PSCI function to start up a secondary
core in a way that completely bypassed the secure world.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 1456853976-7592-1-git-send-email-peter.maydell@linaro.org
2016-03-04 11:30:18 +00:00
..
allwinner-a10.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
armv7m.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
bcm2835_peripherals.c raspi: fix SD card with recent sdhci changes 2016-02-26 15:09:42 +00:00
bcm2836.c raspi: fix SD card with recent sdhci changes 2016-02-26 15:09:42 +00:00
boot.c device_tree: qemu_fdt_getprop_cell converted to use the error API 2016-02-19 09:42:30 -07:00
collie.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
cubieboard.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
digic_boards.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
digic.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
exynos4_boards.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
exynos4210.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
fsl-imx25.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
fsl-imx31.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
gumstix.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
highbank.c arm/boot: move highbank secure board setup code to common routine 2016-02-03 15:00:46 +00:00
imx25_pdk.c Use error_fatal to simplify obvious fatal errors (again) 2016-02-08 17:22:00 +01:00
integratorcp.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
kzm.c Use error_fatal to simplify obvious fatal errors (again) 2016-02-08 17:22:00 +01:00
mainstone.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
Makefile.objs raspi: add raspberry pi 2 machine 2016-02-03 15:00:47 +00:00
musicpal.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
netduino2.c Use error_fatal to simplify obvious fatal errors (again) 2016-02-08 17:22:00 +01:00
nseries.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
omap1.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
omap2.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
omap_sx1.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
palm.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
pxa2xx_gpio.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
pxa2xx_pic.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
pxa2xx.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00
raspi.c raspi: fix SD card with recent sdhci changes 2016-02-26 15:09:42 +00:00
realview.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
spitz.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00
stellaris.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00
stm32f205_soc.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
strongarm.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00
strongarm.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
sysbus-fdt.c hw/arm/sysbus-fdt: remove qemu_fdt_setprop returned value check 2016-02-19 09:42:31 -07:00
tosa.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00
versatilepb.c hw/arm: Clean up includes 2016-01-18 16:33:32 +00:00
vexpress.c device_tree: qemu_fdt_getprop_cell converted to use the error API 2016-02-19 09:42:30 -07:00
virt-acpi-build.c bios-linker-loader: document+validate input 2016-02-23 12:55:16 +02:00
virt.c hw/arm/virt: Assume EL3 boot rom will handle PSCI if one is provided 2016-03-04 11:30:18 +00:00
xilinx_zynq.c sdhci_sysbus: Create SD card device in users, not the device itself 2016-02-18 14:26:33 +00:00
xlnx-ep108.c sdhci_sysbus: Create SD card device in users, not the device itself 2016-02-18 14:26:33 +00:00
xlnx-zynqmp.c sdhci_sysbus: Create SD card device in users, not the device itself 2016-02-18 14:26:33 +00:00
z2.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00