[PATCH v2 00/12] target/arm: single-binary

Pierrick Bouvier posted 12 patches 3 days, 8 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260206042150.912578-1-pierrick.bouvier@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>
target/arm/helper-a64.h                       |  14 ++
target/arm/helper-mve.h                       |  14 ++
target/arm/helper-sme.h                       |  14 ++
target/arm/helper-sve.h                       |  14 ++
target/arm/helper.h                           |  17 +-
target/arm/kvm_arm.h                          |   3 +
.../tcg/{helper-a64.h => helper-a64-defs.h}   |   0
target/arm/tcg/{helper.h => helper-defs.h}    |   0
.../tcg/{helper-mve.h => helper-mve-defs.h}   |   0
.../tcg/{helper-sme.h => helper-sme-defs.h}   |   0
.../tcg/{helper-sve.h => helper-sve-defs.h}   |   0
target/arm/tcg/translate-a32.h                |   2 +-
target/arm/tcg/translate.h                    |  22 +-
target/arm/tcg/vec_internal.h                 |  49 ++++
target/arm/arm-qmp-cmds.c                     |  27 +--
target/arm/debug_helper.c                     |   4 +-
target/arm/helper.c                           |   5 +-
target/arm/kvm-stub.c                         |   5 +
target/arm/kvm.c                              |  21 ++
target/arm/tcg/arith_helper.c                 |   4 +-
target/arm/tcg/crypto_helper.c                |   4 +-
target/arm/tcg/gengvec64.c                    |   3 +-
target/arm/tcg/helper-a64.c                   |   6 +-
target/arm/tcg/hflags.c                       |   4 +-
target/arm/tcg/m_helper.c                     |   2 +-
target/arm/tcg/mte_helper.c                   |   3 +-
target/arm/tcg/mve_helper.c                   |   6 +-
target/arm/tcg/neon_helper.c                  |   4 +-
target/arm/tcg/op_helper.c                    |   2 +-
target/arm/tcg/pauth_helper.c                 |   3 +-
target/arm/tcg/psci.c                         |   4 +-
target/arm/tcg/sme_helper.c                   |   5 +-
target/arm/tcg/sve_helper.c                   |   6 +-
target/arm/tcg/tlb_helper.c                   |   4 +-
target/arm/tcg/translate-a64.c                |   3 +
target/arm/tcg/translate-mve.c                |   1 +
target/arm/tcg/translate-sme.c                |   3 +
target/arm/tcg/translate-sve.c                |   3 +
target/arm/tcg/translate.c                    |  25 +-
target/arm/tcg/vec_helper.c                   | 224 ++----------------
target/arm/tcg/vec_helper64.c                 | 142 +++++++++++
target/arm/tcg/vfp_helper.c                   |   4 +-
target/arm/meson.build                        |   2 +-
target/arm/tcg/meson.build                    |  21 +-
44 files changed, 391 insertions(+), 308 deletions(-)
create mode 100644 target/arm/helper-a64.h
create mode 100644 target/arm/helper-mve.h
create mode 100644 target/arm/helper-sme.h
create mode 100644 target/arm/helper-sve.h
rename target/arm/tcg/{helper-a64.h => helper-a64-defs.h} (100%)
rename target/arm/tcg/{helper.h => helper-defs.h} (100%)
rename target/arm/tcg/{helper-mve.h => helper-mve-defs.h} (100%)
rename target/arm/tcg/{helper-sme.h => helper-sme-defs.h} (100%)
rename target/arm/tcg/{helper-sve.h => helper-sve-defs.h} (100%)
create mode 100644 target/arm/tcg/vec_helper64.c
[PATCH v2 00/12] target/arm: single-binary
Posted by Pierrick Bouvier 3 days, 8 hours ago
This series continues cleaning target/arm, especially tcg folder.

For now, it contains some cleanups in headers, and it splits helpers per
category, thus removing several usage of TARGET_AARCH64.
First version was simply splitting 32 vs 64-bit helpers, and Richard asked
to split per sub category.

v2
--

- add missing kvm_enabled() in arm-qmp-cmds.c
- didn't extract arm_wfi for tcg/psci.c. If that's a hard requirement, I can do
  it in next version.
- restricted scope of series to helper headers, so we can validate things one
  step at a time. Series will keep on growing once all patches are reviewed.
- translate.h: use vaddr where appropriate, as asked by Richard.

Pierrick Bouvier (12):
  target/arm/arm-qmp-cmds.c: make compilation unit common
  target/arm: extract helper-mve.h from helper.h
  target/arm: extract helper-a64.h from helper.h
  target/arm: extract helper-sve.h from helper.h
  target/arm: extract helper-sme.h from helper.h
  target/arm/tcg: duplicate tcg/arith_helper.c and tcg/crypto_helper.c
    between user/system
  target/arm: move exec/helper-* plumbery to helper.h
  target/arm/tcg/psci.c: make compilation unit common
  target/arm/tcg/cpu-v7m.c: make compilation unit common
  target/arm/tcg/vec_helper.c: make compilation unit common
  target/arm/tcg/translate.h: replace target_ulong with vaddr
  target/arm/tcg/translate.h: replace target_long with int64_t

 target/arm/helper-a64.h                       |  14 ++
 target/arm/helper-mve.h                       |  14 ++
 target/arm/helper-sme.h                       |  14 ++
 target/arm/helper-sve.h                       |  14 ++
 target/arm/helper.h                           |  17 +-
 target/arm/kvm_arm.h                          |   3 +
 .../tcg/{helper-a64.h => helper-a64-defs.h}   |   0
 target/arm/tcg/{helper.h => helper-defs.h}    |   0
 .../tcg/{helper-mve.h => helper-mve-defs.h}   |   0
 .../tcg/{helper-sme.h => helper-sme-defs.h}   |   0
 .../tcg/{helper-sve.h => helper-sve-defs.h}   |   0
 target/arm/tcg/translate-a32.h                |   2 +-
 target/arm/tcg/translate.h                    |  22 +-
 target/arm/tcg/vec_internal.h                 |  49 ++++
 target/arm/arm-qmp-cmds.c                     |  27 +--
 target/arm/debug_helper.c                     |   4 +-
 target/arm/helper.c                           |   5 +-
 target/arm/kvm-stub.c                         |   5 +
 target/arm/kvm.c                              |  21 ++
 target/arm/tcg/arith_helper.c                 |   4 +-
 target/arm/tcg/crypto_helper.c                |   4 +-
 target/arm/tcg/gengvec64.c                    |   3 +-
 target/arm/tcg/helper-a64.c                   |   6 +-
 target/arm/tcg/hflags.c                       |   4 +-
 target/arm/tcg/m_helper.c                     |   2 +-
 target/arm/tcg/mte_helper.c                   |   3 +-
 target/arm/tcg/mve_helper.c                   |   6 +-
 target/arm/tcg/neon_helper.c                  |   4 +-
 target/arm/tcg/op_helper.c                    |   2 +-
 target/arm/tcg/pauth_helper.c                 |   3 +-
 target/arm/tcg/psci.c                         |   4 +-
 target/arm/tcg/sme_helper.c                   |   5 +-
 target/arm/tcg/sve_helper.c                   |   6 +-
 target/arm/tcg/tlb_helper.c                   |   4 +-
 target/arm/tcg/translate-a64.c                |   3 +
 target/arm/tcg/translate-mve.c                |   1 +
 target/arm/tcg/translate-sme.c                |   3 +
 target/arm/tcg/translate-sve.c                |   3 +
 target/arm/tcg/translate.c                    |  25 +-
 target/arm/tcg/vec_helper.c                   | 224 ++----------------
 target/arm/tcg/vec_helper64.c                 | 142 +++++++++++
 target/arm/tcg/vfp_helper.c                   |   4 +-
 target/arm/meson.build                        |   2 +-
 target/arm/tcg/meson.build                    |  21 +-
 44 files changed, 391 insertions(+), 308 deletions(-)
 create mode 100644 target/arm/helper-a64.h
 create mode 100644 target/arm/helper-mve.h
 create mode 100644 target/arm/helper-sme.h
 create mode 100644 target/arm/helper-sve.h
 rename target/arm/tcg/{helper-a64.h => helper-a64-defs.h} (100%)
 rename target/arm/tcg/{helper.h => helper-defs.h} (100%)
 rename target/arm/tcg/{helper-mve.h => helper-mve-defs.h} (100%)
 rename target/arm/tcg/{helper-sme.h => helper-sme-defs.h} (100%)
 rename target/arm/tcg/{helper-sve.h => helper-sve-defs.h} (100%)
 create mode 100644 target/arm/tcg/vec_helper64.c

-- 
2.47.3