qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 66/77] target/microblaze: Use tcg_gen_lookup_and_goto_ptr


From: Edgar E. Iglesias
Subject: Re: [PATCH 66/77] target/microblaze: Use tcg_gen_lookup_and_goto_ptr
Date: Fri, 28 Aug 2020 08:33:50 +0200

On Tue, Aug 25, 2020 at 01:59:39PM -0700, Richard Henderson wrote:
> When goto_tb cannot be used due to branch page crossing,
> or due to indirect jumping, tcg_gen_lookup_and_goto_ptr
> can be used instead.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Hi Richard,

This patch is for some reason causing some of our tests to fail.
The PMU Firmware on the ZynqMP gets stuck.
Looking at logs nothing obvious shows up, it just gets stuck.
Bisected it to this patch, any ideas?

Cheers,
Edgar

> ---
>  target/microblaze/translate.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
> index 6f9b20d391..5bd771671b 100644
> --- a/target/microblaze/translate.c
> +++ b/target/microblaze/translate.c
> @@ -152,7 +152,7 @@ static void gen_goto_tb(DisasContext *dc, int n, 
> target_ulong dest)
>          tcg_gen_exit_tb(dc->base.tb, n);
>      } else {
>          tcg_gen_movi_i32(cpu_pc, dest);
> -        tcg_gen_exit_tb(NULL, 0);
> +        tcg_gen_lookup_and_goto_ptr();
>      }
>      dc->base.is_jmp = DISAS_NORETURN;
>  }
> @@ -1811,7 +1811,7 @@ static void mb_tr_tb_stop(DisasContextBase *dcb, 
> CPUState *cs)
>          if (unlikely(cs->singlestep_enabled)) {
>              gen_raise_exception(dc, EXCP_DEBUG);
>          } else {
> -            tcg_gen_exit_tb(NULL, 0);
> +            tcg_gen_lookup_and_goto_ptr();
>          }
>          return;
>  
> -- 
> 2.25.1
> 



reply via email to

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