qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics
Date: Wed, 6 May 2015 16:44:31 +0100

On 6 May 2015 at 15:12, Richard Henderson <address@hidden> wrote:
> On 05/06/2015 12:06 AM, Peter Crosthwaite wrote:
>> Can
>> we rely on the env/CPUState always being up to date during
>> target_disas (which happens at translate time?) or will we need to go
>> field by field to make sure any env updates explicitly occur before
>> target_disas?
>
> I *think* so, but it's a near thing.  The path goes
>
>  tb_find_fast:
>   cpu_get_tb_cpu_state, fill fill in flags for TB from current ENV state.
>   tb_find_slow,
>     tb_gen_code, using those same flags.
>
> There's the edge case of re-translation, but I'm going to assert that cpu mode
> changes ought not happen in that context.  Doing otherwise means that the
> kernel has just switched modes, the translator has failed to end the TB, and
> the new code has faulted immediately.

This is making the assumption that what the disassembler sees as
a "different mode" is the same as what the translator sees as a
"different mode" for which it needs to end the TB... This happens
to be true for ARM, at least, but I don't see any particular
reason why it is necessarily so for everything.

-- PMM



reply via email to

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