qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] hw/arm: Implement new machine mps3-an536 (Cortex-R52 MPS3 AN536 FPGA image)
@ 2024-02-06 13:29 Peter Maydell
  2024-02-06 13:29 ` [PATCH 01/13] target/arm: Use new CBAR encoding for all v8 CPUs, not all aarch64 CPUs Peter Maydell
                   ` (12 more replies)
  0 siblings, 13 replies; 38+ messages in thread
From: Peter Maydell @ 2024-02-06 13:29 UTC (permalink / raw)
  To: qemu-arm, qemu-devel

This patchset implements a new machine type, mps3-an536.  This is
similar to our existing mps2-* and mps3-* machine types in that it is
a model of an FPGA image for the Arm MPS3 development board.  It
differs from our current machine types in being based around an
R-profile CPU, the Cortex-R52, rather than an M-profile CPU.

This patchset implements the board support to a similar level as that
of our M-profile MPS machine types: most but not all devices are
supported.  Some minor missing features are documented in the docs
patch (and already in mps2.rst where they apply to all boards in this
family).  If there's demand (specifically from the Xen development
use case which is motivating this board model) we can look at adding
them.

I have tested with the "selftest" binary supplied with the FPGA
image, and also with a Linux kernel. (The kernel support for this
board is not upstream, but the patches can be found in this lakml thread
https://lore.kernel.org/all/20220630083641.21835-1-vladimir.murzin@arm.com/
or at the git branch
https://gitlab.arm.com/linux-arm/linux-vm/-/tree/staging/rclass-5.19 )
To get some of this guest code to boot I had to make some improvements
to our Cortex-R52 emulation; these are in the first four patches.

thanks
-- PMM

Peter Maydell (13):
  target/arm: Use new CBAR encoding for all v8 CPUs, not all aarch64
    CPUs
  target/arm: The Cortex-R52 has a read-only CBAR
  target/arm: Add Cortex-R52 IMPDEF sysregs
  target/arm: Allow access to SPSR_hyp from hyp mode
  hw/misc/mps2-scc: Fix condition for CFG3 register
  hw/misc/mps2-scc: Factor out which-board conditionals
  hw/misc/mps2-scc: Make changes needed for AN536 FPGA image
  hw/arm/mps3r: Initial skeleton for mps3-an536 board
  hw/arm/mps3r: Add CPUs, GIC, and per-CPU RAM
  hw/arm/mps3r: Add UARTs
  hw/arm/mps3r: Add GPIO, watchdog, dual-timer, I2C devices
  hw/arm/mps3r: Add remaining devices
  docs: Add documentation for the mps3-an536 board

 MAINTAINERS                             |   3 +-
 docs/system/arm/mps2.rst                |  37 +-
 configs/devices/arm-softmmu/default.mak |   1 +
 include/hw/misc/mps2-scc.h              |   1 +
 hw/arm/mps3r.c                          | 640 ++++++++++++++++++++++++
 hw/misc/mps2-scc.c                      | 138 ++++-
 target/arm/helper.c                     |   2 +-
 target/arm/tcg/cpu32.c                  | 109 ++++
 target/arm/tcg/op_helper.c              |  43 +-
 target/arm/tcg/translate.c              |  19 +-
 hw/arm/Kconfig                          |   5 +
 hw/arm/meson.build                      |   1 +
 12 files changed, 955 insertions(+), 44 deletions(-)
 create mode 100644 hw/arm/mps3r.c

-- 
2.34.1



^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2024-02-15 17:54 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-06 13:29 [PATCH 00/13] hw/arm: Implement new machine mps3-an536 (Cortex-R52 MPS3 AN536 FPGA image) Peter Maydell
2024-02-06 13:29 ` [PATCH 01/13] target/arm: Use new CBAR encoding for all v8 CPUs, not all aarch64 CPUs Peter Maydell
2024-02-06 20:34   ` Richard Henderson
2024-02-06 21:00     ` Peter Maydell
2024-02-06 13:29 ` [PATCH 02/13] target/arm: The Cortex-R52 has a read-only CBAR Peter Maydell
2024-02-06 20:38   ` Richard Henderson
2024-02-06 21:02     ` Peter Maydell
2024-02-06 13:29 ` [PATCH 03/13] target/arm: Add Cortex-R52 IMPDEF sysregs Peter Maydell
2024-02-06 22:21   ` Richard Henderson
2024-02-06 13:29 ` [PATCH 04/13] target/arm: Allow access to SPSR_hyp from hyp mode Peter Maydell
2024-02-06 21:46   ` Richard Henderson
2024-02-06 13:29 ` [PATCH 05/13] hw/misc/mps2-scc: Fix condition for CFG3 register Peter Maydell
2024-02-06 15:52   ` Philippe Mathieu-Daudé
2024-02-06 21:47   ` Richard Henderson
2024-02-06 13:29 ` [PATCH 06/13] hw/misc/mps2-scc: Factor out which-board conditionals Peter Maydell
2024-02-06 15:56   ` Philippe Mathieu-Daudé
2024-02-06 21:47   ` Richard Henderson
2024-02-07  8:47   ` Philippe Mathieu-Daudé
2024-02-06 13:29 ` [PATCH 07/13] hw/misc/mps2-scc: Make changes needed for AN536 FPGA image Peter Maydell
2024-02-06 21:50   ` Richard Henderson
2024-02-07  8:56   ` Philippe Mathieu-Daudé
2024-02-06 13:29 ` [PATCH 08/13] hw/arm/mps3r: Initial skeleton for mps3-an536 board Peter Maydell
2024-02-06 19:21   ` Philippe Mathieu-Daudé
2024-02-06 20:57     ` Peter Maydell
2024-02-07  9:02   ` Philippe Mathieu-Daudé
2024-02-08 17:02     ` Peter Maydell
2024-02-08 17:07       ` Cédric Le Goater
2024-02-08 18:19         ` Philippe Mathieu-Daudé
2024-02-06 13:29 ` [PATCH 09/13] hw/arm/mps3r: Add CPUs, GIC, and per-CPU RAM Peter Maydell
2024-02-15 17:53   ` Alex Bennée
2024-02-06 13:29 ` [PATCH 10/13] hw/arm/mps3r: Add UARTs Peter Maydell
2024-02-06 16:44   ` Philippe Mathieu-Daudé
2024-02-06 13:29 ` [PATCH 11/13] hw/arm/mps3r: Add GPIO, watchdog, dual-timer, I2C devices Peter Maydell
2024-02-06 16:47   ` Philippe Mathieu-Daudé
2024-02-06 13:29 ` [PATCH 12/13] hw/arm/mps3r: Add remaining devices Peter Maydell
2024-02-06 16:49   ` Philippe Mathieu-Daudé
2024-02-06 13:29 ` [PATCH 13/13] docs: Add documentation for the mps3-an536 board Peter Maydell
2024-02-06 16:50   ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).