[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/4] cputlb: read CPUTLBEntry.addr_write atom
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/4] cputlb: read CPUTLBEntry.addr_write atomically |
Date: |
Tue, 16 Oct 2018 08:56:45 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
On 10/15/18 11:03 PM, Paolo Bonzini wrote:
> On 16/10/2018 04:52, Richard Henderson wrote:
>> On 10/5/18 2:14 PM, Emilio G. Cota wrote:
>>> - target_ulong tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
>>> + target_ulong tlb_addr =
>>> + atomic_read(&env->tlb_table[mmu_idx][index].addr_write);
>>
>> This fails for 32-bit hosts emulating 64-bit hosts.
>> I think you need a separate helper function. Perhaps
>>
>> static inline target_ulong tlb_addr_write(CPUTLBEntry *ent)
>> {
>> #if TCG_OVERSIZED_GUEST
>> return ent->addr_write;
>> #else
>> return atomic_read(&ent->addr_write);
>> #endif
>> }
>>
>
> Or just atomic_read__nocheck.
No, it won't be present, necessarily.
r~
[Qemu-devel] [PATCH v3 1/4] exec: introduce tlb_init, Emilio G. Cota, 2018/10/05