qemu-e2k/hw/arm
Peter Maydell 3733f80308 hw/arm/armsse: Make 0x5... alias region work for per-CPU devices
The region 0x40010000 .. 0x4001ffff and its secure-only alias
at 0x50010000... are for per-CPU devices. We implement this by
giving each CPU its own container memory region, where the
per-CPU devices live. Unfortunately, the alias region which
makes devices mapped at 0x4... addresses also appear at 0x5...
is only implemented in the overall "all CPUs" container. The
effect of this bug is that the CPU_IDENTITY register block appears
only at 0x4001f000, but not at the 0x5001f000 alias where it should
also appear. Guests (like very recent Arm Trusted Firmware-M)
which try to access it at 0x5001f000 will crash.

Fix this by moving the handling for this alias from the "all CPUs"
container to the per-CPU container. (We leave the aliases for
0x1... and 0x3... in the overall container, because there are
no per-CPU devices there.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20190215180500.6906-1-peter.maydell@linaro.org
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-21 18:17:48 +00:00
..
allwinner-a10.c hw/arm/allwinner-a10: Add the 'A' SRAM and the SRAM controller 2019-01-07 15:23:47 +00:00
armsse.c hw/arm/armsse: Make 0x5... alias region work for per-CPU devices 2019-02-21 18:17:48 +00:00
armv7m.c elf: Add optional function ptr to load_elf() to parse ELF notes 2019-02-05 16:50:16 +01:00
aspeed_soc.c
aspeed.c hw/arm/aspeed: Fix build issue with clang 3.4 2018-11-28 13:51:41 +00:00
bcm2835_peripherals.c
bcm2836.c
boot.c * cpu-exec fixes (Emilio, Laurent) 2019-02-05 19:39:22 +00:00
collie.c
cubieboard.c
digic_boards.c
digic.c
exynos4_boards.c
exynos4210.c
fsl-imx6.c
fsl-imx6ul.c
fsl-imx7.c
fsl-imx25.c
fsl-imx31.c
gumstix.c
highbank.c
imx25_pdk.c
integratorcp.c
kzm.c
mainstone.c
Makefile.objs hw/arm/musca.c: Implement models of the Musca-A and -B1 boards 2019-02-21 18:17:47 +00:00
mcimx6ul-evk.c
mcimx7d-sabre.c
microbit.c arm: Stub out NRF51 TWI magnetometer/accelerometer detection 2019-01-29 11:46:03 +00:00
mps2-tz.c hw/arm/mps2-tz: Add mps2-an521 model 2019-02-01 14:55:44 +00:00
mps2.c
msf2-soc.c
msf2-som.c
musca.c hw/arm/musca: Wire up PL011 UARTs 2019-02-21 18:17:47 +00:00
musicpal.c musicpal: Convert sysbus init function to realize function 2018-12-13 13:47:56 +00:00
netduino2.c
nrf51_soc.c arm: Instantiate NRF51 special NVM's and NVMC 2019-02-01 15:32:17 +00:00
nseries.c
omap1.c
omap2.c char: allow specifying a GMainContext at opening time 2019-02-13 14:23:39 +01:00
omap_sx1.c
palm.c
pxa2xx_gpio.c
pxa2xx_pic.c
pxa2xx.c
raspi.c
realview.c
sabrelite.c
smmu-common.c
smmu-internal.h
smmuv3-internal.h
smmuv3.c
spitz.c
stellaris.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
stm32f205_soc.c
strongarm.c
strongarm.h
sysbus-fdt.c
tosa.c
trace-events
versatilepb.c
vexpress.c
virt-acpi-build.c hw/arm/virt-acpi-build: Set COHACC override flag in IORT SMMUv3 node 2019-01-21 10:23:11 +00:00
virt.c include: remove compat.h 2019-01-07 16:18:42 +04:00
xilinx_zynq.c
xlnx-versal-virt.c hw/arm: versal: Plug memory leaks 2019-01-07 15:23:46 +00:00
xlnx-versal.c
xlnx-zcu102.c
xlnx-zynqmp.c hw/arm/xlnx-zynqmp: Realize cluster after putting RPUs in it 2019-01-29 11:46:05 +00:00
z2.c