On Thu, Jan 28, 2016 at 03:33:18PM +1100, Benjamin Herrenschmidt wrote: > On Wed, 2016-01-27 at 21:13 +1100, David Gibson wrote: > > When HPTEs are removed or modified by hypercalls on spapr, we need to > > invalidate the relevant pages in the qemu TLB. > > > > Currently we do that by doing some complicated calculations to work out the > > right encoding for the tlbie instruction, then passing that to > > ppc_tlb_invalidate_one()... which totally ignores the argument and flushes > > the whole tlb. > > > > Avoid that by adding a new flush-by-hpte helper in mmu-hash64.c. > > Should we find a better "in between" so long run we implement tlbie > properly ? IE, tlbie will give us the page size using the same encoding > as the HPTE iirc when L=1 ? To be honest the encoding of tlbie in arch > 2.07 is so completely insane I have a hard time figuring it out myself > ... :-) I'm not entirely sure what the better in-between would be. Having the pagesize in tlbie isn't enough on its own - the bigger problem is that we need a way of invalidating a whole congruence class of entries in the qemu TLB, which it doesn't currently provide a means to do. > Otherwise, > > Acked-by: Benjamin Herrenschmidt -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson