From: Philippe Mathieu-Daudé Date: Tue, 9 Dec 2025 18:24:05 +0000 (+0100) Subject: system: Allow restricting the legacy translator_ld() 'native-endian' API X-Git-Tag: v11.0.0-rc0~103^2~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0fca27a4d5060af1532dff031b01fdde6910971d;p=thirdparty%2Fqemu.git system: Allow restricting the legacy translator_ld() 'native-endian' API Guard the native endian APIs we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-ID: <20260109165058.59144-18-philmd@linaro.org> --- diff --git a/include/exec/translator.h b/include/exec/translator.h index 3c326555696..8d343627bd9 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -188,7 +188,8 @@ uint32_t translator_ldl_end(CPUArchState *env, DisasContextBase *db, uint64_t translator_ldq_end(CPUArchState *env, DisasContextBase *db, vaddr pc, MemOp endian); -#ifdef COMPILING_PER_TARGET +#if !defined(TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API) \ + && defined(COMPILING_PER_TARGET) static inline uint16_t translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc) { @@ -227,7 +228,7 @@ translator_ldq_swap(CPUArchState *env, DisasContextBase *db, { return translator_ldq_end(env, db, pc, MO_TE ^ (do_swap * MO_BSWAP)); } -#endif /* COMPILING_PER_TARGET */ +#endif /* !TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API && COMPILING_PER_TARGET */ /** * translator_fake_ld - fake instruction load