qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] single-binary: start make hw/arm/ common (boot.c)
@ 2025-03-18  4:51 Pierrick Bouvier
  2025-03-18  4:51 ` [PATCH 01/13] exec/cpu-all: restrict BSWAP_NEEDED to target specific code Pierrick Bouvier
                   ` (12 more replies)
  0 siblings, 13 replies; 44+ messages in thread
From: Pierrick Bouvier @ 2025-03-18  4:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé, qemu-arm, alex.bennee, Peter Maydell,
	kvm, Paolo Bonzini, Richard Henderson, Marc-André Lureau,
	Philippe Mathieu-Daudé, Pierrick Bouvier

This series focuses on removing compilation units duplication in hw/arm. We
start with this architecture because it should not be too hard to transform it,
and should give us some good hints on the difficulties we'll meet later.

We first start by making changes in global headers to be able to not rely on
specific target defines. We then focus on removing those defines from
target/arm/cpu.h.

From there, we modify build system to create a new hw common library (per base
architecture, "arm" in this case), instead of compiling the same files for every
target.

Finally, we can declare hw/arm/boot.c common as a first step for this subsystem.

This series needs to be applied on top of
https://lore.kernel.org/qemu-devel/20250317183417.285700-19-pierrick.bouvier@linaro.org/
to compile.

Pierrick Bouvier (13):
  exec/cpu-all: restrict BSWAP_NEEDED to target specific code
  exec/cpu-all: restrict compile time assert to target specific code
  exec/target_page: runtime defintion for TARGET_PAGE_BITS_MIN
  exec/cpu-all: allow to include specific cpu
  target/arm/cpu: move KVM_HAVE_MCE_INJECTION to kvm-all.c file directly
  exec/poison: KVM_HAVE_MCE_INJECTION can now be poisoned
  target/arm/cpu: always define kvm related registers
  target/arm/cpu: flags2 is always uint64_t
  target/arm/cpu: define ARM_MAX_VQ once for aarch32 and aarch64
  target/arm/cpu: define same set of registers for aarch32 and aarch64
  target/arm/cpu: remove inline stubs for aarch32 emulation
  meson: add common hw files
  hw/arm/boot: make compilation unit hw common

 meson.build                | 36 +++++++++++++++++++++++++++++++++++-
 include/exec/cpu-all.h     | 12 ++++++++++--
 include/exec/poison.h      |  2 ++
 include/exec/target_page.h |  3 +++
 include/system/kvm.h       |  2 --
 target/arm/cpu.h           | 28 +++-------------------------
 accel/kvm/kvm-all.c        |  4 ++++
 hw/arm/boot.c              |  1 +
 target/arm/helper.c        |  6 ++++++
 target/arm/tcg/hflags.c    |  4 ++--
 hw/arm/meson.build         |  5 ++++-
 11 files changed, 70 insertions(+), 33 deletions(-)

-- 
2.39.5



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

end of thread, other threads:[~2025-03-19 23:36 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-18  4:51 [PATCH 00/13] single-binary: start make hw/arm/ common (boot.c) Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 01/13] exec/cpu-all: restrict BSWAP_NEEDED to target specific code Pierrick Bouvier
2025-03-18 21:41   ` Richard Henderson
2025-03-18 22:35     ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 02/13] exec/cpu-all: restrict compile time assert " Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 03/13] exec/target_page: runtime defintion for TARGET_PAGE_BITS_MIN Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 04/13] exec/cpu-all: allow to include specific cpu Pierrick Bouvier
2025-03-18 22:11   ` Richard Henderson
2025-03-18 22:16     ` Pierrick Bouvier
2025-03-18 22:21       ` Richard Henderson
2025-03-18 22:25         ` Pierrick Bouvier
2025-03-18 22:36           ` Richard Henderson
2025-03-18 22:58             ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 05/13] target/arm/cpu: move KVM_HAVE_MCE_INJECTION to kvm-all.c file directly Pierrick Bouvier
2025-03-18 22:19   ` Richard Henderson
2025-03-19 23:06     ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 06/13] exec/poison: KVM_HAVE_MCE_INJECTION can now be poisoned Pierrick Bouvier
2025-03-18 22:22   ` Richard Henderson
2025-03-18  4:51 ` [PATCH 07/13] target/arm/cpu: always define kvm related registers Pierrick Bouvier
2025-03-18 18:14   ` Philippe Mathieu-Daudé
2025-03-18 18:23     ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 08/13] target/arm/cpu: flags2 is always uint64_t Pierrick Bouvier
2025-03-18 22:40   ` Richard Henderson
2025-03-19 23:17     ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 09/13] target/arm/cpu: define ARM_MAX_VQ once for aarch32 and aarch64 Pierrick Bouvier
2025-03-18 18:50   ` Philippe Mathieu-Daudé
2025-03-18 22:02     ` Pierrick Bouvier
2025-03-19  7:03       ` Philippe Mathieu-Daudé
2025-03-19 23:09         ` Pierrick Bouvier
2025-03-18 22:44   ` Richard Henderson
2025-03-18  4:51 ` [PATCH 10/13] target/arm/cpu: define same set of registers " Pierrick Bouvier
2025-03-18 22:45   ` Richard Henderson
2025-03-19 23:25     ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 11/13] target/arm/cpu: remove inline stubs for aarch32 emulation Pierrick Bouvier
2025-03-18 17:42   ` Philippe Mathieu-Daudé
2025-03-18 17:50     ` Peter Maydell
2025-03-18 17:52       ` Pierrick Bouvier
2025-03-18 18:06         ` Peter Maydell
2025-03-18 18:13           ` Pierrick Bouvier
2025-03-19 23:35             ` Pierrick Bouvier
2025-03-18 18:44       ` Philippe Mathieu-Daudé
2025-03-18 17:50     ` Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 12/13] meson: add common hw files Pierrick Bouvier
2025-03-18  4:51 ` [PATCH 13/13] hw/arm/boot: make compilation unit hw common Pierrick Bouvier

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).