qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH] target/arm: ensure eret exits the run-loop


From: Peter Maydell
Subject: Re: [Qemu-devel] [RFC PATCH] target/arm: ensure eret exits the run-loop
Date: Fri, 7 Jul 2017 18:36:40 +0100

On 7 July 2017 at 18:32, Alex Bennée <address@hidden> wrote:
> Given the wording of:
>
> /* is_jmp field values */
> #define DISAS_NEXT    0 /* next instruction can be analyzed */
> #define DISAS_JUMP    1 /* only pc was modified dynamically */
> #define DISAS_UPDATE  2 /* cpu state was modified dynamically */
> #define DISAS_TB_JUMP 3 /* only pc was modified statically */
>
> I'm thinking that really these DISAS_JUMP's should be DISAS_UPDATEs and
> we need to disable the TB chaining optimisations for this. I'll prepare
> a more comprehensive series next week. However testing this patch for
> known failure modes will be useful.

The problem I think is that a lot of our current code assumes
that DISAS_UPDATE means "go back to the top loop".

In any case I think you are right that DISAS_UPDATE should not
allow chaining to the next TB, because it implies that perhaps
a TB flags bit got changed, so you need to look in the hash
table again.

thanks
-- PMM



reply via email to

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