qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/44] hw/arm: New board model mps3-an547


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 00/44] hw/arm: New board model mps3-an547
Date: Fri, 5 Mar 2021 12:56:00 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 2/19/21 3:45 PM, Peter Maydell wrote:
> This patchseries implements a model of the AN547 FPGA image for the
> MPS3 board.  The main benefit of this new board is that it uses the
> Cortex-M55 CPU and so it allows running guests which use a v8.1M CPU.

> Peter Maydell (44):
>   clock: Add ClockEvent parameter to callbacks
>   clock: Add ClockPreUpdate callback event type
>   clock: Add clock_ns_to_ticks() function
>   hw/timer/npcm7xx_timer: Use new clock_ns_to_ticks()
>   hw/arm/armsse: Introduce SSE subsystem version property
>   hw/misc/iotkit-sysctl: Remove is_sse200 flag
>   hw/misc/iotkit-secctl.c: Implement SSE-300 PID register values
>   hw/misc/iotkit-sysinfo.c: Implement SSE-300 PID register values
>   hw/arm/armsse.c: Use correct SYS_CONFIG0 register value for SSE-300
>   hw/misc/iotkit-sysinfo.c: Implement SYS_CONFIG1 and IIDR
>   hw/timer/sse-counter: Model the SSE Subsystem System Counter
>   hw/timer/sse-timer: Model the SSE Subsystem System Timer
>   hw/misc/iotkit-sysctl: Add SSE-300 cases which match SSE-200 behaviour
>   hw/misc/iotkit-sysctl: Handle CPU_WAIT, NMI_ENABLE for SSE-300
>   hw/misc/iotkit-sysctl: Handle INITSVTOR* for SSE-300
>   hw/misc/iotkit-sysctl: Implement dummy version of SSE-300 PWRCTRL
>     register
>   hw/misc/iotkit-sysctl: Handle SSE-300 changes to PDCM_PD_*_SENSE
>     registers
>   hw/misc/iotkit-sysctl: Implement SSE-200 and SSE-300 PID register
>     values
>   hw/arm/Kconfig: Move ARMSSE_CPUID and ARMSSE_MHU stanzas to hw/misc
>   hw/misc/sse-cpu-pwrctrl: Implement SSE-300 CPU<N>_PWRCTRL register
>     block
>   hw/arm/armsse: Use an array for apb_ppc fields in the state structure
>   hw/arm/armsse: Add a define for number of IRQs used by the SSE itself
>   hw/arm/armsse: Add framework for data-driven device placement
>   hw/arm/armsse: Move dual-timer device into data-driven framework
>   hw/arm/armsse: Move watchdogs into data-driven framework
>   hw/arm/armsse: Move s32ktimer into data-driven framework
>   hw/arm/armsse: Move sysinfo register block into data-driven framework
>   hw/arm/armsse: Move sysctl register block into data-driven framework
>   hw/arm/armsse: Move PPUs into data-driven framework
>   hw/arm/armsse: Add missing SSE-200 SYS_PPU
>   hw/arm/armsse: Indirect irq_is_common[] through ARMSSEInfo
>   hw/arm/armsse: Add support for SSE variants with a system counter
>   hw/arm/armsse: Add support for TYPE_SSE_TIMER in ARMSSEDeviceInfo
>   hw/arm/armsse: Support variants with ARMSSE_CPU_PWRCTRL block
>   hw/arm/armsse: Add SSE-300 support
>   hw/arm/mps2-tz: Make UART overflow IRQ board-specific
>   hw/misc/mps2-fpgaio: Fold counters subsection into main vmstate
>   hw/misc/mps2-fpgaio: Support AN547 DBGCTRL register
>   hw/misc/mps2-scc: Implement changes for AN547
>   hw/arm/mps2-tz: Support running APB peripherals on different clock
>   hw/arm/mps2-tz: Make initsvtor0 setting board-specific
>   hw/arm/mps2-tz: Add new mps3-an547 board
>   docs/system/arm/mps2.rst: Document the new mps3-an547 board
>   tests/qtest/sse-timer-test: Add simple tests of the SSE timer and
>     counter
> 
>  docs/devel/clocks.rst                |   71 +-
>  docs/system/arm/mps2.rst             |    6 +-
>  include/hw/arm/armsse-version.h      |   42 ++
>  include/hw/arm/armsse.h              |   40 +-
>  include/hw/clock.h                   |   63 +-
>  include/hw/misc/armsse-cpu-pwrctrl.h |   40 +
>  include/hw/misc/iotkit-secctl.h      |    2 +
>  include/hw/misc/iotkit-sysctl.h      |   13 +-
>  include/hw/misc/iotkit-sysinfo.h     |    2 +
>  include/hw/misc/mps2-fpgaio.h        |    2 +
>  include/hw/qdev-clock.h              |   17 +-
>  include/hw/timer/sse-counter.h       |  105 +++
>  include/hw/timer/sse-timer.h         |   53 ++
>  hw/adc/npcm7xx_adc.c                 |    2 +-
>  hw/arm/armsse.c                      | 1008 +++++++++++++++++++-------
>  hw/arm/mps2-tz.c                     |  168 ++++-
>  hw/char/cadence_uart.c               |    4 +-
>  hw/char/ibex_uart.c                  |    4 +-
>  hw/char/pl011.c                      |    5 +-
>  hw/core/clock.c                      |   24 +-
>  hw/core/qdev-clock.c                 |    8 +-
>  hw/mips/cps.c                        |    2 +-
>  hw/misc/armsse-cpu-pwrctrl.c         |  149 ++++
>  hw/misc/bcm2835_cprman.c             |   23 +-
>  hw/misc/iotkit-secctl.c              |   50 +-
>  hw/misc/iotkit-sysctl.c              |  521 ++++++++++---
>  hw/misc/iotkit-sysinfo.c             |   51 +-
>  hw/misc/mps2-fpgaio.c                |   52 +-
>  hw/misc/mps2-scc.c                   |   15 +-
>  hw/misc/npcm7xx_clk.c                |   26 +-
>  hw/misc/npcm7xx_pwm.c                |    2 +-
>  hw/misc/zynq_slcr.c                  |    5 +-
>  hw/timer/cmsdk-apb-dualtimer.c       |    5 +-
>  hw/timer/cmsdk-apb-timer.c           |    4 +-
>  hw/timer/npcm7xx_timer.c             |    6 +-
>  hw/timer/sse-counter.c               |  474 ++++++++++++
>  hw/timer/sse-timer.c                 |  470 ++++++++++++
>  hw/watchdog/cmsdk-apb-watchdog.c     |    5 +-
>  target/mips/cpu.c                    |    2 +-
>  tests/qtest/sse-timer-test.c         |  240 ++++++
>  MAINTAINERS                          |    7 +
>  hw/arm/Kconfig                       |    9 +-
>  hw/misc/Kconfig                      |    9 +
>  hw/misc/meson.build                  |    1 +
>  hw/misc/trace-events                 |    4 +
>  hw/timer/Kconfig                     |    6 +
>  hw/timer/meson.build                 |    2 +
>  hw/timer/trace-events                |   12 +
>  tests/qtest/meson.build              |    1 +
>  49 files changed, 3356 insertions(+), 476 deletions(-)
>  create mode 100644 include/hw/arm/armsse-version.h
>  create mode 100644 include/hw/misc/armsse-cpu-pwrctrl.h
>  create mode 100644 include/hw/timer/sse-counter.h
>  create mode 100644 include/hw/timer/sse-timer.h
>  create mode 100644 hw/misc/armsse-cpu-pwrctrl.c
>  create mode 100644 hw/timer/sse-counter.c
>  create mode 100644 hw/timer/sse-timer.c
>  create mode 100644 tests/qtest/sse-timer-test.c

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]