target/arm/debug_helper.c | 769 ---------------------
target/arm/helper.c | 5 +-
target/arm/{debug_helper.c => tcg/debug.c} | 542 +--------------
target/arm/tcg/meson.build | 2 +
4 files changed, 4 insertions(+), 1314 deletions(-)
copy target/arm/{debug_helper.c => tcg/debug.c} (53%)
This patchset gets rid of a couple of uses of HELPER_H to pull in the
TCG helper function prototypes in files that aren't in
target/arm/tcg:
- debug_helper.c has a lot of TCG only code that can
happily live in a new tcg/debug.c file instead, and only
the CONFIG_TCG code was using the helper prototypes
- helper.c was calling exactly one TCG helper function
directly, and can be made to call a different function
instead for the same effect
Pierrick: these might be helpful for you with getting the target/arm
single-binary series to compile when TCG is disabled. I think it
might be best to avoid having a single helper.h that gives both the
helper_foo and the gen_helper_foo prototypes, though: even if it
doesn't cause compilation failures, only translate*.c need all the
inline definitions of gen_helper_foo. If you take that approach
then it would fix the compile errors without needing these patches.
(I did wonder if we could move target/arm/helper.h into the
tcg/ subdirectory, since it really is TCG-specific, but it looks
like the machinery in include/exec/helper* assumes that the target
has a helper.h in its top level directory.)
thanks
-- PMM
Peter Maydell (2):
target/arm: Move TCG-specific code out of debug_helper.c
target/arm: Don't require helper prototypes in helper.c
target/arm/debug_helper.c | 769 ---------------------
target/arm/helper.c | 5 +-
target/arm/{debug_helper.c => tcg/debug.c} | 542 +--------------
target/arm/tcg/meson.build | 2 +
4 files changed, 4 insertions(+), 1314 deletions(-)
copy target/arm/{debug_helper.c => tcg/debug.c} (53%)
--
2.43.0
On 2/16/26 8:03 AM, Peter Maydell wrote:
> This patchset gets rid of a couple of uses of HELPER_H to pull in the
> TCG helper function prototypes in files that aren't in
> target/arm/tcg:
>
> - debug_helper.c has a lot of TCG only code that can
> happily live in a new tcg/debug.c file instead, and only
> the CONFIG_TCG code was using the helper prototypes
> - helper.c was calling exactly one TCG helper function
> directly, and can be made to call a different function
> instead for the same effect
>
> Pierrick: these might be helpful for you with getting the target/arm
> single-binary series to compile when TCG is disabled. I think it
> might be best to avoid having a single helper.h that gives both the
> helper_foo and the gen_helper_foo prototypes, though: even if it
> doesn't cause compilation failures, only translate*.c need all the
> inline definitions of gen_helper_foo. If you take that approach
> then it would fix the compile errors without needing these patches.
>
As mentioned in original commit, having helper_foo and gen_helper_foo
was done for convenience. If we want to duplicate that in two different
sets of headers, feel free to add a comment on concerned thread, I'll be
happy to do it.
It's just include machinery, so it's not really important to be honest,
as long as everything compiles fine.
> (I did wonder if we could move target/arm/helper.h into the
> tcg/ subdirectory, since it really is TCG-specific, but it looks
> like the machinery in include/exec/helper* assumes that the target
> has a helper.h in its top level directory.)
>
> thanks
> -- PMM
>
> Peter Maydell (2):
> target/arm: Move TCG-specific code out of debug_helper.c
> target/arm: Don't require helper prototypes in helper.c
>
> target/arm/debug_helper.c | 769 ---------------------
> target/arm/helper.c | 5 +-
> target/arm/{debug_helper.c => tcg/debug.c} | 542 +--------------
> target/arm/tcg/meson.build | 2 +
> 4 files changed, 4 insertions(+), 1314 deletions(-)
> copy target/arm/{debug_helper.c => tcg/debug.c} (53%)
>
On 2/17/26 02:03, Peter Maydell wrote:
> This patchset gets rid of a couple of uses of HELPER_H to pull in the
> TCG helper function prototypes in files that aren't in
> target/arm/tcg:
>
> - debug_helper.c has a lot of TCG only code that can
> happily live in a new tcg/debug.c file instead, and only
> the CONFIG_TCG code was using the helper prototypes
> - helper.c was calling exactly one TCG helper function
> directly, and can be made to call a different function
> instead for the same effect
>
> Pierrick: these might be helpful for you with getting the target/arm
> single-binary series to compile when TCG is disabled. I think it
> might be best to avoid having a single helper.h that gives both the
> helper_foo and the gen_helper_foo prototypes, though: even if it
> doesn't cause compilation failures, only translate*.c need all the
> inline definitions of gen_helper_foo. If you take that approach
> then it would fix the compile errors without needing these patches.
>
> (I did wonder if we could move target/arm/helper.h into the
> tcg/ subdirectory, since it really is TCG-specific, but it looks
> like the machinery in include/exec/helper* assumes that the target
> has a helper.h in its top level directory.)
>
> thanks
> -- PMM
>
> Peter Maydell (2):
> target/arm: Move TCG-specific code out of debug_helper.c
> target/arm: Don't require helper prototypes in helper.c
>
> target/arm/debug_helper.c | 769 ---------------------
> target/arm/helper.c | 5 +-
> target/arm/{debug_helper.c => tcg/debug.c} | 542 +--------------
> target/arm/tcg/meson.build | 2 +
> 4 files changed, 4 insertions(+), 1314 deletions(-)
> copy target/arm/{debug_helper.c => tcg/debug.c} (53%)
>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
© 2016 - 2026 Red Hat, Inc.