qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v1 3/3] tcg-runtime: short-circuit lookup_tb_ptr


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v1 3/3] tcg-runtime: short-circuit lookup_tb_ptr on IRQs
Date: Wed, 14 Jun 2017 09:51:26 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 06/14/2017 09:08 AM, Paolo Bonzini wrote:
I think this is a band-aid, and would rather fix the front-ends as in
Emilio's patch.  For Alpha my guess would be:

diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index 7c45ae360c..6e2ee3f958 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -1198,7 +1198,9 @@ static ExitStatus gen_call_pal(DisasContext *ctx, int 
palcode)
              tcg_gen_andi_i64(tmp, ctx->ir[IR_A0], PS_INT_MASK);
               tcg_gen_st8_i64(tmp, cpu_env, offsetof(CPUAlphaState, ps));
              tcg_temp_free(tmp);
-            break;
+
+            /* Reevaluate interrupts */
+            return EXIT_PC_STALE;
case 0x36:
              /* RDPS */

Thanks!

You're right that adjusting SWPIPL along these lines does fix the problem for Alpha. Given that Alpha would typically hang in arch_idle, I'd been focusing primarily on WTINT.


r~



reply via email to

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