On 3/27/26 9:50 AM, Pierrick Bouvier wrote:
> This series tackles (most of) the rest of target/arm, especially tcg folder.
>
> We extract tcg memory operation in a new header, with a new type representing
> virtual addresses.
>
> Initially, I went down the way to have a dynamic definition of TCGv, which
> required much more boilerplate and runtime checks. After discussing with
> Richard, I realized it was not needed, and that could simply split 32 and 64 bit
> properly in different files instead. This approach will not work with other
> architectures, requiring something else, but it's enough for target/arm.
>
> Files left are:
> - target/arm/tcg/mve_helper.c
> - target/arm/tcg/m_helper.c
> - target/arm/tcg/cpu32.c
>
> v5
> --
>
> - reimplemented what v0 did with new approach defining new tcg-op-mem header
> - reapply all straightforward patches from v0
> - only translate.c is left, but first want to validate that changes here are ok
> for maintainers before doing more.
>
> v0
> --
>
> See original thread:
> https://lore.kernel.org/qemu-devel/20260109053158.2800705-1-pierrick.bouvier@linaro.org/#t
>
> Note about v1 -> v4
> -------------------
>
> - After v0 which was trying to do too many changes, v1 to v4 focused on smaller
> things, and all patches have been merged already.
> https://patchew.org/QEMU/20260219040150.2098396-1-pierrick.bouvier@linaro.org/
>
> Pierrick Bouvier (12):
> include/tcg/tcg-op: extract memory operations to tcg-op-mem.h
> target/arm/translate.h: remove tcg-op.h include
> target/arm/tcg/translate.h: remove tcg-op-gvec.h include
> target/arm/tcg/translate.h: remove TARGET_AARCH64
> target/arm/tcg/translate-vfp.c: make compilation unit common
> target/arm/tcg/translate-neon.c: make compilation unit common
> target/arm/tcg/translate-mve.c: make compilation unit common
> target/arm/tcg/translate-m-nocp.c: make compilation unit common
> target/arm/tcg/op_helper.c: make compilation unit common
> target/arm/tcg/gengvec.c: make compilation unit common
> target/arm/tcg/translate.c: remove MO_TE usage
> target/arm/tcg/translate.c: replace target_ulong with uint32_t
>
> include/tcg/tcg-op-mem.h | 126 +++++++++++++++++++++++++++++++++
> include/tcg/tcg-op.h | 100 +-------------------------
> target/arm/tcg/translate.h | 14 +---
> target/arm/tcg/op_helper.c | 1 -
> target/arm/tcg/stubs32.c | 17 +++++
> target/arm/tcg/translate-a64.c | 1 +
> target/arm/tcg/translate-sme.c | 1 +
> target/arm/tcg/translate-sve.c | 1 +
> target/arm/tcg/translate.c | 6 +-
> target/arm/tcg/meson.build | 29 ++++++--
> 10 files changed, 176 insertions(+), 120 deletions(-)
> create mode 100644 include/tcg/tcg-op-mem.h
> create mode 100644 target/arm/tcg/stubs32.c
>
v6 sent:
https://lore.kernel.org/qemu-devel/20260401192057.1182724-1-pierrick.bouvier@linaro.org/T
Regards,
Pierrick