On Mon, Mar 10, 2014 at 4:15 AM, Andreas Färber <afaer...@suse.de> wrote: > diff --git a/target-xtensa/op_helper.c b/target-xtensa/op_helper.c > index 624ef54..612d3bf 100644 > --- a/target-xtensa/op_helper.c > +++ b/target-xtensa/op_helper.c > @@ -730,21 +730,24 @@ void xtensa_tlb_set_entry_mmu(const CPUXtensaState *env, > void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb, > unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte) > { > + XtensaCPU *cpu = xtensa_env_get_cpu(env); > + CPUState *cs; > xtensa_tlb_entry *entry = xtensa_tlb_get_entry(env, dtlb, wi, ei); > > if (xtensa_option_enabled(env->config, XTENSA_OPTION_MMU)) { > if (entry->variable) { > + cs = CPU(cpu);
Maybe move it up and use cs everywhere, or drop cs and use CPU(cpu) everywhere? > if (entry->asid) { > - tlb_flush_page(env, entry->vaddr); > + tlb_flush_page(cs, entry->vaddr); > } > xtensa_tlb_set_entry_mmu(env, entry, dtlb, wi, ei, vpn, pte); > - tlb_flush_page(env, entry->vaddr); > + tlb_flush_page(cs, entry->vaddr); > } else { > qemu_log("%s %d, %d, %d trying to set immutable entry\n", > __func__, dtlb, wi, ei); > } > } else { > - tlb_flush_page(env, entry->vaddr); > + tlb_flush_page(CPU(cpu), entry->vaddr); > if (xtensa_option_enabled(env->config, > XTENSA_OPTION_REGION_TRANSLATION)) { > entry->paddr = pte & REGION_PAGE_MASK; -- Thanks. -- Max