This series allows leon3 emulations to record up 4 CPUs.

It requires some enhancements in the grlib_irqmp device and adding the
cpu_index field in the asr17 instruction.

It has been tested locally with various bareboard runtimes and through
the Gitlab CI: https://gitlab.com/Helflym/qemu/-/pipelines/1127834623.

Clément Chigot (9):
  sparc/grlib: split out the headers for each peripherals
  intc/grlib_irqmp: add ncpus property
  intc/grlib_irqmp: implements the multiprocessor status register
  intc/grlib_irqmp: implements multicore irq
  target/sparc: implement asr17 feature for smp
  target/sparc: simplify qemu_irq_ack
  leon3: implement multiprocessor
  leon3: check cpu_id in the tiny bootloader
  MAINTAINERS: replace Fabien by myself as Leon3 maintainer

 MAINTAINERS                                   |   2 +-
 hw/char/grlib_apbuart.c                       |   4 +-
 hw/intc/grlib_irqmp.c                         |  97 ++++++++----
 hw/sparc/leon3.c                              | 145 +++++++++++++-----
 hw/timer/grlib_gptimer.c                      |   4 +-
 include/hw/char/grlib_uart.h                  |  30 ++++
 .../hw/{sparc/grlib.h => intc/grlib_irqmp.h}  |  16 +-
 include/hw/timer/grlib_gptimer.h              |  30 ++++
 target/sparc/cpu.h                            |   2 +-
 target/sparc/helper.c                         |  16 ++
 target/sparc/helper.h                         |   1 +
 target/sparc/int32_helper.c                   |   2 +-
 target/sparc/translate.c                      |  13 +-
 13 files changed, 258 insertions(+), 104 deletions(-)
 create mode 100644 include/hw/char/grlib_uart.h
 rename include/hw/{sparc/grlib.h => intc/grlib_irqmp.h} (83%)
 create mode 100644 include/hw/timer/grlib_gptimer.h

-- 
2.25.1


Reply via email to