f1dfab0d9b
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 |
||
---|---|---|
.. | ||
_templates | ||
arm | ||
i386 | ||
ppc | ||
riscv | ||
s390x | ||
build-platforms.rst | ||
cpu-hotplug.rst | ||
cpu-models-mips.rst.inc | ||
cpu-models-x86.rst.inc | ||
deprecated.rst | ||
device-url-syntax.rst.inc | ||
gdb.rst | ||
generic-loader.rst | ||
guest-loader.rst | ||
images.rst | ||
index.rst | ||
invocation.rst | ||
ivshmem.rst | ||
keys.rst | ||
keys.rst.inc | ||
license.rst | ||
linuxboot.rst | ||
managed-startup.rst | ||
monitor.rst | ||
multi-process.rst | ||
mux-chardev.rst | ||
mux-chardev.rst.inc | ||
net.rst | ||
nvme.rst | ||
pr-manager.rst | ||
qemu-block-drivers.rst | ||
qemu-block-drivers.rst.inc | ||
qemu-cpu-models.rst | ||
qemu-manpage.rst | ||
quickstart.rst | ||
removed-features.rst | ||
security.rst | ||
target-arm.rst | ||
target-avr.rst | ||
target-i386-desc.rst.inc | ||
target-i386.rst | ||
target-m68k.rst | ||
target-mips.rst | ||
target-ppc.rst | ||
target-riscv.rst | ||
target-rx.rst | ||
target-s390x.rst | ||
target-sparc64.rst | ||
target-sparc.rst | ||
target-xtensa.rst | ||
targets.rst | ||
tls.rst | ||
usb.rst | ||
virtio-net-failover.rst | ||
virtio-pmem.rst | ||
vnc-security.rst |