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
}
I'm going to drop this patch from my queue for now.
We can fix it up this week some time.
r~