[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics |
Date: |
Wed, 06 May 2015 11:24:15 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 05/06/2015 08:44 AM, Peter Maydell wrote:
> 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.
I'm pretty sure it is, though. Certainly true for x86 and mips.
I might call it a translator bug not to end the TB at a mode change.
r~
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, (continued)
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Claudio Fontana, 2015/05/05
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Peter Maydell, 2015/05/05
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Peter Crosthwaite, 2015/05/06
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Richard Henderson, 2015/05/06
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Paolo Bonzini, 2015/05/06
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Stefano Stabellini, 2015/05/06
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Peter Maydell, 2015/05/06
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics,
Richard Henderson <=
- Re: [Qemu-devel] [PATCH 6/7] monitor: "i": Add ARM specifics, Peter Maydell, 2015/05/06
[Qemu-devel] [PATCH 7/7] disas: arm: Use target_disas impl for monitor, Peter Crosthwaite, 2015/05/05
Re: [Qemu-devel] [PATCH 0/7] disas: Unify target_disas and monitor_disas, Richard Henderson, 2015/05/05