mbox series

[v3,0/9] sparc/leon3: Add support for -smp

Message ID 20240131085047.18458-1-chigot@adacore.com
Headers show
Series sparc/leon3: Add support for -smp | expand

Message

Clément Chigot Jan. 31, 2024, 8:50 a.m. UTC
V3 modifications
 - Patch 3: Fix indentation
 - Patch 4: Fix types and improves variable declarations
 - Patch 6 (NEW): Remove SP initialization in leon3
 - Patch 7: Add assert in leon3_start_cpu
 - Patch 8: Improve comment

---

V2 modifications
 - Patch1: Add SPDX copyright tags.
 - Patch3: Add defines for MP_STATUS fields. Improve comments.
 - Patch4: Improve a comment.
 - Patch6: Dropped as already merged.

---

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.

CC: Frederic Konrad <konrad.frederic@yahoo.fr> (maintainer:Leon3)
CC: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> (maintainer:SPARC TCG CPUs)
CC: Artyom Tarasenko <atar4qemu@gmail.com> (maintainer:SPARC TCG CPUs)
CC: Philippe Mathieu-Daudé <philmd@linaro.org>

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
  leon3: remove SP initialization
  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                       |   6 +-
 hw/intc/grlib_irqmp.c                         | 110 ++++++++++-----
 hw/sparc/leon3.c                              | 130 +++++++++++++-----
 hw/timer/grlib_gptimer.c                      |   6 +-
 include/hw/char/grlib_uart.h                  |  32 +++++
 .../hw/{sparc/grlib.h => intc/grlib_irqmp.h}  |  18 +--
 include/hw/timer/grlib_gptimer.h              |  32 +++++
 target/sparc/helper.c                         |  16 +++
 target/sparc/helper.h                         |   1 +
 target/sparc/translate.c                      |  13 +-
 11 files changed, 272 insertions(+), 94 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

Comments

Philippe Mathieu-Daudé Feb. 15, 2024, 9:02 a.m. UTC | #1
Hi Clément,

On 31/1/24 09:50, Clément Chigot wrote:

> This series allows leon3 emulations to record up 4 CPUs.

> 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
>    leon3: remove SP initialization
>    leon3: implement multiprocessor
>    leon3: check cpu_id in the tiny bootloader
>    MAINTAINERS: replace Fabien by myself as Leon3 maintainer
What is your base commit to apply this series?
Clément Chigot Feb. 15, 2024, 9:17 a.m. UTC | #2
Hi Philippe

On Thu, Feb 15, 2024 at 10:02 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Hi Clément,
>
> On 31/1/24 09:50, Clément Chigot wrote:
>
> > This series allows leon3 emulations to record up 4 CPUs.
>
> > 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
> >    leon3: remove SP initialization
> >    leon3: implement multiprocessor
> >    leon3: check cpu_id in the tiny bootloader
> >    MAINTAINERS: replace Fabien by myself as Leon3 maintainer
> What is your base commit to apply this series?

It's commit 11be70677c70fdccd452a3233653949b79e97908
    Merge tag 'pull-vfio-20240129' of https://github.com/legoater/qemu
into staging

Clément
Philippe Mathieu-Daudé Feb. 15, 2024, 12:23 p.m. UTC | #3
On 15/2/24 10:17, Clément Chigot wrote:

>>> This series allows leon3 emulations to record up 4 CPUs.

>> What is your base commit to apply this series?
> 
> It's commit 11be70677c70fdccd452a3233653949b79e97908
>      Merge tag 'pull-vfio-20240129' of https://github.com/legoater/qemu
> into staging

Thanks, series queued.