qemu-e2k/hw/arm
Peter Maydell f1dfab0d9b hw/arm/mps2-tz: Implement AN524 memory remapping via machine property
The AN524 FPGA image supports two memory maps, which differ in where
the QSPI and BRAM are.  In the default map, the BRAM is at
0x0000_0000, and the QSPI at 0x2800_0000.  In the second map, they
are the other way around.

In hardware, the initial mapping can be selected by the user by
writing either "REMAP: BRAM" (the default) or "REMAP: QSPI" in the
board configuration file.  The board config file is acted on by the
"Motherboard Configuration Controller", which is an entirely separate
microcontroller on the dev board but outside the FPGA.

The guest can also dynamically change the mapping via the SCC
CFG_REG0 register.

Implement this functionality for QEMU, using a machine property
"remap" with valid values "BRAM" and "QSPI" to allow the user to set
the initial mapping, in the same way they can on the FPGA, and
wiring up the bit from the SCC register to also switch the mapping.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20210504120912.23094-4-peter.maydell@linaro.org
2021-05-10 17:21:54 +01:00
..
allwinner-a10.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
allwinner-h3.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
armsse.c hw/arm/armsse: Make SSE-300 use Cortex-M55 2021-04-17 18:47:11 +01:00
armv7m.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
aspeed_ast2600.c Trivial patches pull request 20210503 2021-05-05 13:52:00 +01:00
aspeed_soc.c Trivial patches pull request 20210503 2021-05-05 13:52:00 +01:00
aspeed.c Trivial patches pull request 20210503 2021-05-05 13:52:00 +01:00
bcm2835_peripherals.c
bcm2836.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
boot.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
collie.c
cubieboard.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
digic_boards.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
digic.c
exynos4_boards.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
exynos4210.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
fsl-imx6.c
fsl-imx6ul.c
fsl-imx7.c
fsl-imx25.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
fsl-imx31.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
gumstix.c
highbank.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
imx25_pdk.c hw/arm/imx25_pdk: Fix error message for invalid RAM size 2021-05-10 17:21:54 +01:00
integratorcp.c
Kconfig hw/arm/pxa2xx: Declare PCMCIA bus with Kconfig 2021-05-02 17:24:50 +02:00
kzm.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
mainstone.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
mcimx6ul-evk.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
mcimx7d-sabre.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
meson.build
microbit.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
mps2-tz.c hw/arm/mps2-tz: Implement AN524 memory remapping via machine property 2021-05-10 17:21:54 +01:00
mps2.c hw/misc/mps2-scc: Support configurable number of OSCCLK values 2021-03-06 13:30:38 +00:00
msf2-soc.c hw: Do not include hw/irq.h if it is not necessary 2021-05-02 17:24:50 +02:00
msf2-som.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
musca.c arm: Update infocenter.arm.com URLs 2021-02-11 11:50:14 +00:00
musicpal.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
netduino2.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
netduinoplus2.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
npcm7xx_boards.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
npcm7xx.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
nrf51_soc.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
nseries.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
omap1.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
omap2.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
omap_sx1.c
orangepi.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
palm.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
pxa2xx_gpio.c
pxa2xx_pic.c hw/arm: Constify VMStateDescription 2021-05-02 17:24:50 +02:00
pxa2xx.c qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
raspi.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
realview.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sabrelite.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
sbsa-ref.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
smmu-common.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
smmu-internal.h hw/arm/smmuv3: Fix SMMU_CMD_CFGI_STE_RANGE handling 2021-03-12 12:40:10 +00:00
smmuv3-internal.h hw/arm/smmuv3: Drop unused CDM_VALID() and is_cd_valid() 2021-03-30 14:05:33 +01:00
smmuv3.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spitz.c hw/arm: Constify VMStateDescription 2021-05-02 17:24:50 +02:00
stellaris.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
stm32f205_soc.c
stm32f405_soc.c
strongarm.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
strongarm.h
sysbus-fdt.c
tosa.c hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
trace-events hw/arm/smmuv3: Uniformize sid traces 2021-03-12 12:40:10 +00:00
trace.h
versatilepb.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
vexpress.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
virt-acpi-build.c hw/arm/virt-acpi-build: Fix GSIV values of the {GERR, Sync} interrupts 2021-04-12 11:06:24 +01:00
virt.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
xilinx_zynq.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
xlnx-versal-virt.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
xlnx-versal.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
xlnx-zcu102.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
xlnx-zynqmp.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
z2.c hw/arm: Constify VMStateDescription 2021-05-02 17:24:50 +02:00