qemu-patch-raspberry4/docs/system
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
..
_templates docs: add "page source" link to sphinx documentation 2020-11-10 08:51:30 +01:00
arm hw/arm/mps2-tz: Implement AN524 memory remapping via machine property 2021-05-10 17:21:54 +01:00
i386 docs: Move microvm.rst into the system manual 2020-11-23 11:10:04 +00:00
ppc docs/system: ppc: Add documentation for ppce500 machine 2021-05-04 11:41:25 +10:00
riscv docs/system: riscv: Add documentation for 'microchip-icicle-kit' machine 2021-03-22 21:54:40 -04:00
s390x docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
build-platforms.rst docs: simplify and clarify the platform support rules 2021-01-29 17:07:53 +00:00
cpu-hotplug.rst docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
cpu-models-mips.rst.inc docs/system: Update MIPS CPU documentation 2020-10-17 13:59:40 +02:00
cpu-models-x86.rst.inc docs: update to show preferred boolean syntax for -cpu 2021-02-25 14:14:33 +01:00
deprecated.rst aspeed: Deprecate the swift-bmc machine 2021-05-01 10:03:52 +02:00
device-url-syntax.rst.inc manual: escape backslashes in "parsed-literal" blocks 2020-09-16 10:52:34 +02:00
gdb.rst docs/system/gdb.rst: Document how to debug multicore machines 2021-04-06 15:04:49 +01:00
generic-loader.rst docs: move generic-loader documentation into the main manual 2021-03-10 15:34:11 +00:00
guest-loader.rst docs: add some documentation for the guest-loader 2021-03-10 15:34:11 +00:00
images.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
index.rst docs: add nvme emulation documentation 2021-04-12 07:05:31 +02:00
invocation.rst docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
ivshmem.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
keys.rst docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
keys.rst.inc docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
license.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
linuxboot.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
managed-startup.rst docs/system: convert managed startup to rST. 2020-03-06 10:05:12 +00:00
monitor.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
multi-process.rst multi-process: add configure and usage information 2021-02-09 20:53:56 +00:00
mux-chardev.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
mux-chardev.rst.inc docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
net.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
nvme.rst docs: add nvme emulation documentation 2021-04-12 07:05:31 +02:00
pr-manager.rst docs/system/pr-manager.rst: Fix minor docs nits 2020-11-23 11:10:04 +00:00
qemu-block-drivers.rst docs: Create defs.rst.inc as a place to define substitutions 2020-03-06 10:04:58 +00:00
qemu-block-drivers.rst.inc block: introduce preallocate filter 2020-12-18 12:35:55 +01:00
qemu-cpu-models.rst docs/system: Convert qemu-cpu-models.texi to rST 2020-03-06 10:05:12 +00:00
qemu-manpage.rst docs: Generate qemu.1 manpage with Sphinx 2020-03-06 11:06:55 +00:00
quickstart.rst docs/system: add a gentle prompt for the complexity to come 2021-03-10 12:13:59 +00:00
removed-features.rst docs/system: Document the removal of "compat" property for POWER CPUs 2021-05-03 10:07:41 +02:00
security.rst docs/system: Convert security.texi to rST format 2020-03-06 10:05:12 +00:00
target-arm.rst docs/system: arm: Add sabrelite board description 2021-01-08 15:13:39 +00:00
target-avr.rst docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
target-i386-desc.rst.inc pcspk: update docs/system/target-i386-desc.rst.inc 2020-07-06 17:01:11 +02:00
target-i386.rst docs: Move microvm.rst into the system manual 2020-11-23 11:10:04 +00:00
target-m68k.rst docs: Roll semihosting option information into qemu-options.hx 2020-03-06 10:05:12 +00:00
target-mips.rst docs/system: Update MIPS machine documentation 2021-01-04 23:36:03 +01:00
target-ppc.rst docs/system: ppc: Add documentation for ppce500 machine 2021-05-04 11:41:25 +10:00
target-riscv.rst docs/system: riscv: Add documentation for 'microchip-icicle-kit' machine 2021-03-22 21:54:40 -04:00
target-rx.rst docs: Document the RX target 2020-06-22 18:37:12 +02:00
target-s390x.rst docs/system/s390x: Add a chapter about s390x boot devices 2020-08-27 12:37:03 +02:00
target-sparc.rst docs: Roll -prom-env and -g target-specific info into qemu-options.hx 2020-03-06 10:05:18 +00:00
target-sparc64.rst docs: Roll -prom-env and -g target-specific info into qemu-options.hx 2020-03-06 10:05:18 +00:00
target-xtensa.rst docs: Roll semihosting option information into qemu-options.hx 2020-03-06 10:05:12 +00:00
targets.rst docs/system: add a gentle prompt for the complexity to come 2021-03-10 12:13:59 +00:00
tls.rst docs: fix missing backslash in certtool shell example 2021-01-29 17:07:53 +00:00
usb.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
virtio-net-failover.rst docs: Move virtio-net-failover.rst into the system manual 2020-11-23 11:07:41 +00:00
virtio-pmem.rst docs/system/virtio-pmem.rst: Fix minor style issues 2020-11-23 11:07:41 +00:00
vnc-security.rst docs: update to show preferred boolean syntax for -vnc 2021-02-25 14:14:33 +01:00