[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 19/24] target-arm: Implement AArch64 TTBR*
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 19/24] target-arm: Implement AArch64 TTBR* |
Date: |
Tue, 28 Jan 2014 08:58:14 +0000 |
On 28 January 2014 02:07, Peter Crosthwaite
<address@hidden> wrote:
> On Sat, Jan 25, 2014 at 10:09 AM, Peter Maydell
> <address@hidden> wrote:
>> On 24 January 2014 23:44, Peter Crosthwaite
>> <address@hidden> wrote:
>>> On Wed, Jan 22, 2014 at 6:12 AM, Peter Maydell <address@hidden> wrote:
>>>> +static int vmsa_ttbr_write(CPUARMState *env, const ARMCPRegInfo *ri,
>>>> + uint64_t value)
>>>> +{
>>>> + /* 64 bit accesses to the TTBRs can change the ASID and so we
>>>> + * must flush the TLB.
>>>> + */
>>>> + if ((ri->state == ARM_CP_STATE_AA64) || (ri->type & ARM_CP_64BIT)) {
>>>> + tlb_flush(env, 1);
>>>> + }
>>>
>>> With the level of complexity this if has reached, is it better to just
>>> check for this ASID change rather than make this overly conservative
>>> flush?
>>
>> Adding an "is the ASID the same" would make the check more complicated
>> again. Maybe we should do it but I'd rather keep that separate from the
>> "handle 64 bit formats" patches.
>>
>
> Seems similar compexity to me.
Well, you'd need all the checks we have here, plus another condition
for the ASID match:
if (((ri->state == ARM_CP_STATE_AA64) || (ri->type & ARM_CP_64BIT))
&& (value & some_mask != old_value & some_mask)) {
tlb_flush(env, 1);
}
thanks
-- PMM
- [Qemu-devel] [PATCH 20/24] target-arm: Implement AArch64 MPIDR, (continued)
- [Qemu-devel] [PATCH 20/24] target-arm: Implement AArch64 MPIDR, Peter Maydell, 2014/01/21
- [Qemu-devel] [PATCH 13/24] target-arm: Implement AArch64 TLB invalidate ops, Peter Maydell, 2014/01/21
- [Qemu-devel] [PATCH 17/24] target-arm: Implement AArch64 TCR_EL1, Peter Maydell, 2014/01/21
- [Qemu-devel] [PATCH 04/24] target-arm: Log bad system register accesses with LOG_UNIMP, Peter Maydell, 2014/01/21
- [Qemu-devel] [PATCH 19/24] target-arm: Implement AArch64 TTBR*, Peter Maydell, 2014/01/21
- Re: [Qemu-devel] [PATCH 19/24] target-arm: Implement AArch64 TTBR*, Peter Maydell, 2014/01/28
[Qemu-devel] [PATCH 21/24] target-arm: Implement AArch64 generic timers, Peter Maydell, 2014/01/21
[Qemu-devel] [PATCH 14/24] target-arm: Implement AArch64 dummy MDSCR_EL1, Peter Maydell, 2014/01/21
[Qemu-devel] [PATCH 07/24] target-arm: A64: Make cache ID registers visible to AArch64, Peter Maydell, 2014/01/21
[Qemu-devel] [PATCH 15/24] target-arm: Implement AArch64 memory attribute registers, Peter Maydell, 2014/01/21