qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target/ppc: Initialize lazy_tlb_flush correctly


From: Thomas Huth
Subject: Re: [Qemu-devel] [PATCH] target/ppc: Initialize lazy_tlb_flush correctly
Date: Tue, 20 Mar 2018 11:12:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 20.03.2018 03:03, David Gibson wrote:
> ppc_tr_init_disas_context() correctly sets lazy_tlb_flush to true on
> certain CPU models.  However, it leaves it uninitialized, instead of
> setting it to false on all others.
> 
> It wasn't caught before now because we didn't have examples in the tests
> that exercised this path.  However it can now be caught using clang's
> undefined behaviour sanitizer and the sam460ex board.
> 
> Suggested-by: Peter Maydell <address@hidden>
> Signed-off-by: David Gibson <address@hidden>
> ---
>  target/ppc/translate.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/target/ppc/translate.c b/target/ppc/translate.c
> index 218665b408..3457d29f8e 100644
> --- a/target/ppc/translate.c
> +++ b/target/ppc/translate.c
> @@ -7237,10 +7237,9 @@ static int ppc_tr_init_disas_context(DisasContextBase 
> *dcbase,
>      ctx->sf_mode = msr_is_64bit(env, env->msr);
>      ctx->has_cfar = !!(env->flags & POWERPC_FLAG_CFAR);
>  #endif
> -    if (env->mmu_model == POWERPC_MMU_32B ||
> -        env->mmu_model == POWERPC_MMU_601 ||
> -        (env->mmu_model & POWERPC_MMU_64B))
> -            ctx->lazy_tlb_flush = true;
> +    ctx->lazy_tlb_flush = env->mmu_model == POWERPC_MMU_32B
> +        || env->mmu_model == POWERPC_MMU_601
> +        || (env->mmu_model & POWERPC_MMU_64B);
>  
>      ctx->fpu_enabled = !!msr_fp;
>      if ((env->flags & POWERPC_FLAG_SPE) && msr_spe)
> 

Reviewed-by: Thomas Huth <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]