[PATCH v2 0/8] sparc/leon3: Add support for -smp

Clément Chigot posted 8 patches 10 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240116130213.172358-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>
There is a newer version of this series
MAINTAINERS                                   |   2 +-
hw/char/grlib_apbuart.c                       |   6 +-
hw/intc/grlib_irqmp.c                         | 112 ++++++++++-----
hw/sparc/leon3.c                              | 135 +++++++++++++-----
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, 278 insertions(+), 95 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 v2 0/8] sparc/leon3: Add support for -smp
Posted by Clément Chigot 10 months, 2 weeks ago
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.


Clément Chigot (8):
  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: 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                         | 112 ++++++++++-----
 hw/sparc/leon3.c                              | 135 +++++++++++++-----
 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, 278 insertions(+), 95 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 v2 0/8] sparc/leon3: Add support for -smp
Posted by Philippe Mathieu-Daudé 10 months ago
On 16/1/24 14:02, Clément Chigot wrote:
> 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.
> 
> 
> Clément Chigot (8):
>    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: implement multiprocessor
>    leon3: check cpu_id in the tiny bootloader
>    MAINTAINERS: replace Fabien by myself as Leon3 maintainer

Cc'ing maintainers per:

$ ./scripts/get_maintainer.pl -f hw/sparc/leon3.c
"Clément Chigot" <chigot@adacore.com> (maintainer:Leon3)
Frederic Konrad <konrad.frederic@yahoo.fr> (maintainer:Leon3)
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> (maintainer:SPARC TCG CPUs)
Artyom Tarasenko <atar4qemu@gmail.com> (maintainer:SPARC TCG CPUs)

Mark / Artyom if you don't have PR planned I can take the v3 if you Ack.

Regards,

Phil.

Re: [PATCH v2 0/8] sparc/leon3: Add support for -smp
Posted by Clément Chigot 10 months ago
Hey Philippe,

Gentle ping on this serie

Thanks,
Clément



On Tue, Jan 16, 2024 at 2:02 PM Clément Chigot <chigot@adacore.com> wrote:
>
> 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.
>
>
> Clément Chigot (8):
>   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: 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                         | 112 ++++++++++-----
>  hw/sparc/leon3.c                              | 135 +++++++++++++-----
>  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, 278 insertions(+), 95 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
>