Re: [PATCH v2 41/50] target/hexagon: Add get_tb_mmu_index()

Philippe Mathieu-Daudé <[email protected]>
Newsgroups gmane.comp.emulators.qemu
Message-ID <[email protected]>
Hi Anton,

On 30/7/26 05:10, Anton Johansson via qemu development wrote:
> Adds a functions to return the current mmu index given tb_flags of the
> current translation block.  Required by helper-to-tcg in order to
> retrieve the mmu index for memory operations without changing the
> signature of helper functions.
> 
> Signed-off-by: Anton Johansson <[email protected]>
> ---
>   target/hexagon/translate.c | 12 ++++++++++++
>   target/hexagon/translate.h |  4 ++++
>   2 files changed, 16 insertions(+)
> 
> diff --git a/target/hexagon/translate.c b/target/hexagon/translate.c
> index 199b4f8c2e..bfd84bba4e 100644
> --- a/target/hexagon/translate.c
> +++ b/target/hexagon/translate.c
> @@ -128,6 +128,18 @@ intptr_t ctx_tmp_vreg_off(DisasContext *ctx, int regnum,
>       return offset;
>   }
>   
> +#if defined(TARGET_HELPER_TO_TCG)
> +/*
> + * Returns the current mmu index given tb_flags of the current translation
> + * block.  Required by helper-to-tcg in order to retrieve the mmu index for
> + * memory operations without changing the signature of helper functions.
> + */

No need to guard for TARGET_HELPER_TO_TCG IMO, simply add
and use in hexagon_tr_init_disas_context().

Dropping the "Required by helper-to-tcg ..." comment, the
TARGET_HELPER_TO_TCG guard and using in init_disas_context:

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

> +int get_tb_mmu_index(uint32_t flags)
> +{
> +    return FIELD_EX32(flags, TB_FLAGS, MMU_INDEX);
> +}
> +#endif
> +
>   static void gen_exception(int excp, uint32_t PC)
>   {
>       gen_helper_raise_exception(tcg_env, tcg_constant_i32(excp),
> diff --git a/target/hexagon/translate.h b/target/hexagon/translate.h
> index 2fca157553..6cf3b2fe3b 100644
> --- a/target/hexagon/translate.h
> +++ b/target/hexagon/translate.h
> @@ -345,4 +345,8 @@ FIELD(PROBE_PKT_SCALAR_HVX_STORES, MMU_IDX,        5, 2)
>   
>   void gen_framecheck(DisasContext *ctx, TCGv_i32 addr, TCGv_i32 ea);
>   
> +#if defined(TARGET_HELPER_TO_TCG)
> +int get_tb_mmu_index(uint32_t flags);
> +#endif
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.