On 2/16/26 7:52 AM, Peter Maydell wrote:
On Thu, 12 Feb 2026 at 10:59, Peter Maydell <[email protected]> wrote:
On Tue, 10 Feb 2026 at 20:19, Pierrick Bouvier
<[email protected]> wrote:
On 2/10/26 12:15 PM, Pierrick Bouvier wrote:
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.
v3
--
- translate.h: missing vaddr replacement
- move tcg_use_softmmu to tcg/tcg-internal.h to avoid duplicating compilation
units between system and user builds.
- eradicate TARGET_INSN_START_EXTRA_WORDS by calling tcg_gen_insn_start with
additional 0 parameters if needed.
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.
Patches 1-11 are reviewed and ready to be pulled.
Looks like patch 12 has also now been reviewed, so I've applied
the whole series to target-arm.next.
I meant to send this to the list, but accidentally sent it to
Pierrick only:
I just ran this (plus some other patches) through gitlab CI, and
it fails to build on the kvm-only and xen-only jobs:
https://gitlab.com/pm215/qemu/-/jobs/13131658696
In file included from /builds/pm215/qemu/include/exec/helper-gen.h.inc:9,
from /builds/pm215/qemu/include/exec/helper-gen-common.h:11,
from ../target/arm/helper.h:7,
from ../target/arm/helper.c:13:
/builds/pm215/qemu/include/tcg/tcg.h:35:10: fatal error: tcg-target.h:
No such file or directory
35 | #include "tcg-target.h"
| ^~~~~~~~~~~~~~
https://gitlab.com/pm215/qemu/-/jobs/13131658593
In file included from /builds/pm215/qemu/include/exec/helper-gen.h.inc:9,
from /builds/pm215/qemu/include/exec/helper-gen-common.h:11,
from ../target/arm/helper.h:7,
from ../target/arm/debug_helper.c:11:
/builds/pm215/qemu/include/tcg/tcg.h:35:10: fatal error: tcg-target.h:
No such file or directory
35 | #include "tcg-target.h"
| ^~~~~~~~~~~~~~
I think the problem looks like it's in "move exec/helper-* plumbery to
helper.h", which has put the "emit the TCG gen_helper_foo inline
functions" into target/arm/helper.h, when they were previously
handled by target/arm/tcg/translate.h and so only in source files
that are part of the TCG translate-time code. helper.h only needs the
prototypes of the helper functions themselves.
Some of the other new helper-foo.h files look like they would
also have this problem, except they happen to only be included
from tcg files. For instance target/arm/helper-mve.h is only
included from files in target/arm/tcg (so it maybe could be
in target/arm/tcg itself).
I couldn't see an obvious easy fixup for this, so I'm afraid
I've removed the series from target-arm.next.
thanks
-- PMM
Thanks for reporting Peter, and trying to fix it. It's definitely not
configurations I had under my radar.
Regards,
Pierrick