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~

Reply via email to