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

Clément Chigot posted 9 patches 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240131085047.18458-1-chigot@adacore.com
Maintainers: "Clément Chigot" <chigot@adacore.com>, Frederic Konrad <konrad.frederic@yahoo.fr>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>
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
[PATCH v3 0/9] sparc/leon3: Add support for -smp
Posted by Clément Chigot 10 months ago
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

-- 
2.25.1


Re: [PATCH v3 0/9] sparc/leon3: Add support for -smp
Posted by Philippe Mathieu-Daudé 9 months, 2 weeks ago
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?

Re: [PATCH v3 0/9] sparc/leon3: Add support for -smp
Posted by Clément Chigot 9 months, 2 weeks ago
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
Re: [PATCH v3 0/9] sparc/leon3: Add support for -smp
Posted by Philippe Mathieu-Daudé 9 months, 2 weeks ago
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.