On Mon, 2015-11-16 at 16:00 +1100, David Gibson wrote: > > > //#define DEBUG_MMU > > //#define DEBUG_BATS > > @@ -1940,6 +1941,7 @@ void ppc_tlb_invalidate_all(CPUPPCState *env) > > case POWERPC_MMU_2_03: > > case POWERPC_MMU_2_06: > > case POWERPC_MMU_2_07: > > + env->tlb_need_flush = 0; > > #endif /* defined(TARGET_PPC64) */ > > tlb_flush(CPU(cpu), 1); > > break; > > Any particular reason you're leaving this one as an immediate rather > than deferred flush?
A couple yes. It's mostly unused on server CPUs (we don't do tlbia), and it's used by ppc_cpu_reset(). In that latter case, I like having everything really cleaned up ... > Should you be clearing the pending flush flag cpu_reset()? That should happen as a result of the above. Cheers, Ben.