xemu/hw/arm
Peter Maydell 2013c5665c hw/arm/virt: Support using SMC for PSCI
If we are giving the guest a CPU with EL2, it is likely to
want to use the HVC instruction itself, for instance for
providing PSCI to inner guest VMs. This makes using HVC
as the PSCI conduit for the outer QEMU a bad idea. We will
want to use SMC instead is this case: this makes sense
because QEMU's PSCI implementation is effectively an
emulation of functionality provided by EL3 firmware.

Add code to support selecting the PSCI conduit to use,
rather than hardcoding use of HVC.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Message-id: 1483977924-14522-15-git-send-email-peter.maydell@linaro.org
2017-01-20 11:15:10 +00:00
..
Makefile.objs palmetto-bmc: rename the Aspeed board file to aspeed.c 2016-09-22 18:13:05 +01:00
allwinner-a10.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
armv7m.c hw/arm: QOM'ify armv7m.c 2016-05-12 13:40:48 +01:00
aspeed.c aspeed: use first FMC flash as a boot ROM 2017-01-20 11:15:08 +00:00
aspeed_soc.c aspeed/smc: set the number of flash modules for the FMC controller 2016-12-27 14:59:29 +00:00
bcm2835_peripherals.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
bcm2836.c hw/arm/bcm2836: Wire up CPU timer interrupts correctly 2016-04-04 17:33:51 +01:00
boot.c arm: Create /chosen and /memory devicetree nodes if necessary 2016-11-28 11:32:34 +00:00
collie.c explicitly include qom/cpu.h 2016-05-19 16:42:27 +02:00
cubieboard.c arm: cubieboard: Add support for initrd 2016-10-28 15:51:27 +01:00
digic.c hw/char: QOM'ify digic-uart model 2016-06-06 16:59:31 +01:00
digic_boards.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
exynos4_boards.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
exynos4210.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
fsl-imx6.c char: remove init callback 2016-10-24 15:27:20 +02:00
fsl-imx25.c char: remove init callback 2016-10-24 15:27:20 +02:00
fsl-imx31.c char: remove init callback 2016-10-24 15:27:20 +02:00
gumstix.c machine: Use type_init() to register machine classes 2016-03-16 15:34:05 -03:00
highbank.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
imx25_pdk.c arm: Uniquely name imx25 I2C buses. 2017-01-20 11:15:06 +00:00
integratorcp.c hw/arm: Fix Integrator/CM initialization 2016-10-04 13:28:08 +01:00
kzm.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mainstone.c mainstone: Add mapping for dot, slash and backspace. 2016-10-04 13:28:08 +01:00
musicpal.c hw/arm: QOM'ify musicpal.c 2016-10-24 16:26:55 +01:00
netduino2.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
nseries.c bt-hci-csr: drop unused argument 2016-10-08 09:02:19 +03:00
omap1.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
omap2.c char: use qemu_chr_fe* functions with CharBackend argument 2016-10-24 15:27:21 +02:00
omap_sx1.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
palm.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
pxa2xx.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
pxa2xx_gpio.c hw/arm: QOM'ify pxa2xx_gpio.c 2016-10-24 16:26:55 +01:00
pxa2xx_pic.c hw/arm: QOM'ify pxa2xx_pic.c 2016-05-12 13:42:08 +01:00
raspi.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
realview.c vl: Eliminate usb_enabled() 2016-06-13 13:24:41 +02:00
sabrelite.c m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
spitz.c hw/arm/spitz: Fix reset handling 2016-10-28 15:51:27 +01:00
stellaris.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
stm32f205_soc.c STM32F205: Connect the SPI devices 2016-10-04 13:28:07 +01:00
strongarm.c hw/arm: QOM'ify strongarm.c 2016-10-24 16:26:56 +01:00
strongarm.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
sysbus-fdt.c sysbus: Remove ignored return value of FindSysbusDeviceFunc 2016-09-27 17:03:34 -03:00
tosa.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
versatilepb.c versatilepb: do not run if user asks for more than 256MB RAM 2016-10-28 15:51:27 +01:00
vexpress.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
virt-acpi-build.c hw/arm/virt-acpi - reserve ECAM space as PNP0C02 device 2017-01-20 11:15:08 +00:00
virt.c hw/arm/virt: Support using SMC for PSCI 2017-01-20 11:15:10 +00:00
xilinx_zynq.c m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
xlnx-ep108.c m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
xlnx-zynqmp.c xlnx-zynqmp: Set the number of priority queues 2016-09-22 18:13:07 +01:00
z2.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00