qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/33] hw/cpu/arm: Remove one use of qemu_get_cpu() in A7/A15 MPCore priv
@ 2023-12-12 16:29 Philippe Mathieu-Daudé
  2023-12-12 16:29 ` [PATCH 01/33] hw/arm/boot: Propagate vCPU to arm_load_dtb() Philippe Mathieu-Daudé
                   ` (34 more replies)
  0 siblings, 35 replies; 76+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-12-12 16:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Tyrone Ting, Alex Bennée, Manos Pitsidianakis,
	Eduardo Habkost, Joel Stanley, Alistair Francis, Anton Johansson,
	Andrey Smirnov, Peter Maydell, Hao Wu, Cédric Le Goater,
	Jean-Christophe Dubois, Igor Mitsyanko, Edgar E. Iglesias,
	Andrew Jeffery, Rob Herring, qemu-arm, Mark Cave-Ayland,
	Philippe Mathieu-Daudé

Hi,

When a MPCore cluster is used, the Cortex-A cores belong the the
cluster container, not to the board/soc layer. This series move
the creation of vCPUs to the MPCore private container.

Doing so we consolidate the QOM model, moving common code in a
central place (abstract MPCore parent).

This eventually allow removing one qemu_get_cpu() use, which we
want to remove in heterogeneous machines (machines using MPCore
are candidate for heterogeneous emulation).

Maybe these hw/cpu/arm/ files belong to hw/arm/...

Regards,

Phil.

Philippe Mathieu-Daudé (33):
  hw/arm/boot: Propagate vCPU to arm_load_dtb()
  hw/arm/fsl-imx6: Add a local 'gic' variable
  hw/arm/fsl-imx6ul: Add a local 'gic' variable
  hw/arm/fsl-imx7: Add a local 'gic' variable
  hw/cpu: Remove dead Kconfig
  hw/cpu/arm: Rename 'busdev' -> 'gicsbd' in a15mp_priv_realize()
  hw/cpu/arm: Alias 'num-cpu' property on TYPE_REALVIEW_MPCORE
  hw/cpu/arm: Declare CPU QOM types using DEFINE_TYPES() macro
  hw/cpu/arm: Merge {a9mpcore.h, a15mpcore.h} as cortex_mpcore.h
  hw/cpu/arm: Introduce abstract CORTEX_MPCORE_PRIV QOM type
  hw/cpu/arm: Have A9MPCORE/A15MPCORE inheritate common
    CORTEX_MPCORE_PRIV
  hw/cpu/arm: Create MPCore container in QOM parent
  hw/cpu/arm: Handle 'num_cores' property once in MPCore parent
  hw/cpu/arm: Handle 'has_el2/3' properties once in MPCore parent
  hw/cpu/arm: Handle 'gic-irq' property once in MPCore parent
  hw/cpu/arm: Handle GIC once in MPCore parent
  hw/cpu/arm: Document more properties of CORTEX_MPCORE_PRIV QOM type
  hw/cpu/arm: Replace A15MPPrivState by CortexMPPrivState
  hw/cpu/arm: Introduce TYPE_A7MPCORE_PRIV for Cortex-A7 MPCore
  hw/cpu/arm: Consolidate check on max GIC spi supported
  hw/cpu/arm: Create CPUs once in MPCore parent
  hw/arm/aspeed_ast2600: Let the A7MPcore create/wire the CPU cores
  hw/arm/exynos4210: Let the A9MPcore create/wire the CPU cores
  hw/arm/fsl-imx6: Let the A9MPcore create/wire the CPU cores
  hw/arm/fsl-imx6ul: Let the A7MPcore create/wire the CPU cores
  hw/arm/fsl-imx7: Let the A7MPcore create/wire the CPU cores
  hw/arm/highbank: Let the A9/A15MPcore create/wire the CPU cores
  hw/arm/vexpress: Let the A9/A15MPcore create/wire the CPU cores
  hw/arm/xilinx_zynq: Let the A9MPcore create/wire the CPU cores
  hw/arm/npcm7xx: Let the A9MPcore create/wire the CPU cores
  hw/cpu/a9mpcore: Remove legacy code
  hw/cpu/arm: Remove 'num-cpu' property alias
  hw/cpu/arm: Remove use of qemu_get_cpu() in A7/A15 realize()

 MAINTAINERS                    |   3 +-
 include/hw/arm/aspeed_soc.h    |   5 +-
 include/hw/arm/boot.h          |   4 +-
 include/hw/arm/exynos4210.h    |   6 +-
 include/hw/arm/fsl-imx6.h      |   6 +-
 include/hw/arm/fsl-imx6ul.h    |   8 +-
 include/hw/arm/fsl-imx7.h      |   8 +-
 include/hw/arm/npcm7xx.h       |   3 +-
 include/hw/cpu/a15mpcore.h     |  44 -------
 include/hw/cpu/a9mpcore.h      |  39 -------
 include/hw/cpu/cortex_mpcore.h | 135 ++++++++++++++++++++++
 hw/arm/aspeed_ast2600.c        |  61 ++++------
 hw/arm/boot.c                  |  11 +-
 hw/arm/exynos4210.c            |  60 ++++------
 hw/arm/exynos4_boards.c        |   6 +-
 hw/arm/fsl-imx6.c              |  84 ++++----------
 hw/arm/fsl-imx6ul.c            |  65 ++++-------
 hw/arm/fsl-imx7.c              | 103 +++++------------
 hw/arm/highbank.c              |  56 ++-------
 hw/arm/mcimx6ul-evk.c          |   3 +-
 hw/arm/mcimx7d-sabre.c         |   3 +-
 hw/arm/npcm7xx.c               |  48 ++------
 hw/arm/realview.c              |   4 +-
 hw/arm/sabrelite.c             |   4 +-
 hw/arm/vexpress.c              |  60 +++-------
 hw/arm/virt.c                  |   2 +-
 hw/arm/xilinx_zynq.c           |  30 ++---
 hw/cpu/a15mpcore.c             | 179 +++++++++++++----------------
 hw/cpu/a9mpcore.c              | 138 +++++++++-------------
 hw/cpu/arm11mpcore.c           |  23 ++--
 hw/cpu/cortex_mpcore.c         | 202 +++++++++++++++++++++++++++++++++
 hw/cpu/realview_mpcore.c       |  30 ++---
 hw/arm/Kconfig                 |   8 +-
 hw/cpu/Kconfig                 |   8 --
 hw/cpu/meson.build             |   1 +
 35 files changed, 689 insertions(+), 761 deletions(-)
 delete mode 100644 include/hw/cpu/a15mpcore.h
 delete mode 100644 include/hw/cpu/a9mpcore.h
 create mode 100644 include/hw/cpu/cortex_mpcore.h
 create mode 100644 hw/cpu/cortex_mpcore.c
 delete mode 100644 hw/cpu/Kconfig

-- 
2.41.0



^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2024-01-16 16:26 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-12 16:29 [PATCH 00/33] hw/cpu/arm: Remove one use of qemu_get_cpu() in A7/A15 MPCore priv Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 01/33] hw/arm/boot: Propagate vCPU to arm_load_dtb() Philippe Mathieu-Daudé
2024-01-02 13:51   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 02/33] hw/arm/fsl-imx6: Add a local 'gic' variable Philippe Mathieu-Daudé
2024-01-02 13:52   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 03/33] hw/arm/fsl-imx6ul: " Philippe Mathieu-Daudé
2024-01-02 13:52   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 04/33] hw/arm/fsl-imx7: " Philippe Mathieu-Daudé
2024-01-02 13:53   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 05/33] hw/cpu: Remove dead Kconfig Philippe Mathieu-Daudé
2024-01-02 13:53   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 06/33] hw/cpu/arm: Rename 'busdev' -> 'gicsbd' in a15mp_priv_realize() Philippe Mathieu-Daudé
2024-01-02 13:54   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 07/33] hw/cpu/arm: Alias 'num-cpu' property on TYPE_REALVIEW_MPCORE Philippe Mathieu-Daudé
2024-01-02 13:57   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 08/33] hw/cpu/arm: Declare CPU QOM types using DEFINE_TYPES() macro Philippe Mathieu-Daudé
2024-01-02 13:57   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 09/33] hw/cpu/arm: Merge {a9mpcore.h, a15mpcore.h} as cortex_mpcore.h Philippe Mathieu-Daudé
2024-01-02 14:00   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 10/33] hw/cpu/arm: Introduce abstract CORTEX_MPCORE_PRIV QOM type Philippe Mathieu-Daudé
2024-01-02 14:23   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 11/33] hw/cpu/arm: Have A9MPCORE/A15MPCORE inheritate common CORTEX_MPCORE_PRIV Philippe Mathieu-Daudé
2024-01-02 14:23   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 12/33] hw/cpu/arm: Create MPCore container in QOM parent Philippe Mathieu-Daudé
2024-01-02 14:23   ` Cédric Le Goater
2023-12-12 16:29 ` [PATCH 13/33] hw/cpu/arm: Handle 'num_cores' property once in MPCore parent Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 14/33] hw/cpu/arm: Handle 'has_el2/3' properties " Philippe Mathieu-Daudé
2024-01-12 21:33   ` Fabiano Rosas
2024-01-16 16:25     ` Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 15/33] hw/cpu/arm: Handle 'gic-irq' property " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 16/33] hw/cpu/arm: Handle GIC " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 17/33] hw/cpu/arm: Document more properties of CORTEX_MPCORE_PRIV QOM type Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 18/33] hw/cpu/arm: Replace A15MPPrivState by CortexMPPrivState Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 19/33] hw/cpu/arm: Introduce TYPE_A7MPCORE_PRIV for Cortex-A7 MPCore Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 20/33] hw/cpu/arm: Consolidate check on max GIC spi supported Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 21/33] hw/cpu/arm: Create CPUs once in MPCore parent Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 22/33] hw/arm/aspeed_ast2600: Let the A7MPcore create/wire the CPU cores Philippe Mathieu-Daudé
2024-01-02  0:11   ` Andrew Jeffery
2023-12-12 16:29 ` [PATCH 23/33] hw/arm/exynos4210: Let the A9MPcore " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 24/33] hw/arm/fsl-imx6: " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 25/33] hw/arm/fsl-imx6ul: Let the A7MPcore " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 26/33] hw/arm/fsl-imx7: " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 27/33] hw/arm/highbank: Let the A9/A15MPcore " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 28/33] hw/arm/vexpress: " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 29/33] hw/arm/xilinx_zynq: Let the A9MPcore " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 30/33] hw/arm/npcm7xx: " Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 31/33] hw/cpu/a9mpcore: Remove legacy code Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 32/33] hw/cpu/arm: Remove 'num-cpu' property alias Philippe Mathieu-Daudé
2023-12-12 16:29 ` [PATCH 33/33] hw/cpu/arm: Remove use of qemu_get_cpu() in A7/A15 realize() Philippe Mathieu-Daudé
2023-12-26 11:17 ` [PATCH 00/33] hw/cpu/arm: Remove one use of qemu_get_cpu() in A7/A15 MPCore priv Philippe Mathieu-Daudé
2024-01-02 14:55 ` Cédric Le Goater
2024-01-02 16:15   ` Philippe Mathieu-Daudé
2024-01-02 16:41     ` Cédric Le Goater
2024-01-03  9:19       ` Philippe Mathieu-Daudé
2024-01-03 19:53         ` Fabiano Rosas
2024-01-09 15:02           ` Cédric Le Goater
2024-01-09 17:40             ` Fabiano Rosas
2024-01-09 18:06               ` Cédric Le Goater
2024-01-09 20:21                 ` Fabiano Rosas
2024-01-09 21:22                   ` Philippe Mathieu-Daudé
2024-01-10  3:36                     ` Peter Xu
2024-01-10  6:03                       ` Markus Armbruster
2024-01-10  6:26                         ` Peter Xu
2024-01-10  8:09                           ` Markus Armbruster
2024-01-10  8:44                             ` Peter Xu
2024-01-12  9:03                           ` Cédric Le Goater
2024-01-10 13:19                         ` Fabiano Rosas
2024-01-10 13:54                           ` Markus Armbruster
2024-01-12 10:26                           ` Cédric Le Goater
2024-01-12 19:54                             ` Fabiano Rosas
2024-01-15  9:04                               ` Cédric Le Goater
2024-01-12  8:41                         ` Cédric Le Goater
2024-01-09 21:07                 ` Philippe Mathieu-Daudé
2024-01-09 21:09                   ` Philippe Mathieu-Daudé
2024-01-12  8:00                     ` Cédric Le Goater
2024-01-12  7:29                   ` Cédric Le Goater

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).