[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 06/11] target/arm: Reset btype for direct branch
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 06/11] target/arm: Reset btype for direct branches and syscalls |
Date: |
Tue, 29 Jan 2019 06:05:27 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 1/29/19 1:57 AM, Peter Maydell wrote:
>>> The advantage of picking the other choice (SPSR_ELx.BTYPE ==
>>> PSTATE.BTYPE) is that it means that the behaviour is identical
>>> for all exceptions (async or sync of any type) and we don't
>>> do the work of clearing the BTYPE field (which will happen
>>> potentially in "normal" guest code if we're not in a guarded page,
>>> I think).
>>
>> Well, BTYPE is in the TB flags, so we know it's already zero in that case, so
>> there's no extra work.
>
> It's not zero if we just did a BR Xn to get to this SVC insn, is it?
I guess I misunderstood what you meant by "extra" work.
It's not "extra" if btype is known to not be zero...
Anyway, in v2 the clearing of btype happens in cpu_loop,
more like what the kernel would have to do.
r~
[Qemu-devel] [PATCH 07/11] target/arm: Set btype for indirect branches, Richard Henderson, 2019/01/10
[Qemu-devel] [PATCH 08/11] target/arm: Add guarded_pages cpu property for user-only, Richard Henderson, 2019/01/10
[Qemu-devel] [PATCH 09/11] target/arm: Enable BTI for -cpu max, Richard Henderson, 2019/01/10