[PATCH v2 0/3] mps3-an524: support memory remapping

Peter Maydell posted 3 patches 1 week, 6 days ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210504120912.23094-1-peter.maydell@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>
docs/system/arm/mps2.rst   |  10 ++++
include/hw/misc/mps2-scc.h |  21 ++++++++
hw/arm/mps2-tz.c           | 108 ++++++++++++++++++++++++++++++++++++-
hw/misc/mps2-scc.c         |  13 +++--
4 files changed, 148 insertions(+), 4 deletions(-)

[PATCH v2 0/3] mps3-an524: support memory remapping

Posted by Peter Maydell 1 week, 6 days ago
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 guest can also dynamically
change the mapping via the SCC CFG_REG0 register.

This patchset adds support for the feature to QEMU's model;
the user-sets-the-initial-mapping part is a new machine property
which can be set with "-M remap=QSPI".

This is needed for some guest images -- for instance the
Arm TF-M binaries -- which assume they have the QSPI layout.

Changes v1->v2: all in patch 3
 * tweaked commit message to clarify that the MCC is external
 * use memory_region_transaction_begin/commit
 * make remap be bool rather than int

(All patches are reviewed, I'm just posting v2 because it
has changes made in response to the v1 review.)

thanks
-- PMM

Peter Maydell (3):
  hw/misc/mps2-scc: Add "QEMU interface" comment
  hw/misc/mps2-scc: Support using CFG0 bit 0 for remapping
  hw/arm/mps2-tz: Implement AN524 memory remapping via machine property

 docs/system/arm/mps2.rst   |  10 ++++
 include/hw/misc/mps2-scc.h |  21 ++++++++
 hw/arm/mps2-tz.c           | 108 ++++++++++++++++++++++++++++++++++++-
 hw/misc/mps2-scc.c         |  13 +++--
 4 files changed, 148 insertions(+), 4 deletions(-)

-- 
2.20.1