Re: [Qemu-devel] [PATCH v2 3/3] target-ppc: tlbie should have global effect

2016-09-11 Thread Nikunj A Dadhania
Benjamin Herrenschmidt writes: > On Fri, 2016-09-09 at 18:44 +0530, Nikunj A Dadhania wrote: >> +static inline void tlb_clear_flag(CPUState *cs) >> +{ >> +    PowerPCCPU *cpu = POWERPC_CPU(cs); >> +    CPUPPCState *env = &cpu->env; >> + >> +    env->tlb_need_flush = 0; >> +} > > What is the point

Re: [Qemu-devel] [PATCH v2 3/3] target-ppc: tlbie should have global effect

2016-09-11 Thread David Gibson
On Sat, Sep 10, 2016 at 09:03:56AM +1000, Benjamin Herrenschmidt wrote: > On Fri, 2016-09-09 at 18:44 +0530, Nikunj A Dadhania wrote: > > +static inline void tlb_clear_flag(CPUState *cs) > > +{ > > +    PowerPCCPU *cpu = POWERPC_CPU(cs); > > +    CPUPPCState *env = &cpu->env; > > + > > +    env->tl

Re: [Qemu-devel] [PATCH v2 3/3] target-ppc: tlbie should have global effect

2016-09-09 Thread Benjamin Herrenschmidt
On Fri, 2016-09-09 at 18:44 +0530, Nikunj A Dadhania wrote: > +static inline void tlb_clear_flag(CPUState *cs) > +{ > +    PowerPCCPU *cpu = POWERPC_CPU(cs); > +    CPUPPCState *env = &cpu->env; > + > +    env->tlb_need_flush = 0; > +} What is the point of making this a separate function ? Also I

[Qemu-devel] [PATCH v2 3/3] target-ppc: tlbie should have global effect

2016-09-09 Thread Nikunj A Dadhania
tlbie (H_REMOVE, H_PROTECT and H_BULK_REMOVE for pseries) should have a global effect. Introduces TLB_NEED_GLOBAL_FLUSH flag. During delayed flush, once taking care of local flush, check broadcast flush(ptesync, tlbsync, etc) is needed. Depending on the bitmask state of the tlb_need_flush, tlb is