Re: [v4,17/21] powerpc/8xx: set PTE bit 22 off TLBmiss
From: Scott Wood <hidden>
Date: 2014-11-26 01:58:30
Also in:
lkml
From: Scott Wood <hidden>
Date: 2014-11-26 01:58:30
Also in:
lkml
On Tue, 2014-11-18 at 21:07 +0100, christophe leroy wrote:
Le 08/11/2014 01:08, Scott Wood a écrit :quoted
OK, so the _PAGE_KERNEL_RO(X) stuff is because initially setting the PTE doesn't go through pte_update(). I'll apply this, though it'd be cleaner to just have 8xx versions of the relevant PTE accessor functions to maintain the PTE the way the hardware wants (this would also eliminate the _PAGE_RW inversion that's still in the TLB miss handler).Yes, I've been looking at a simple way to also eliminate the _PAGE_RW inversion, but i've not been able to find an easy solution up to now. It seems that we have two functions that set PTE: set_pte_at() and pte_update() I could perform the bit 22 (0x200) stuff and the _PAGE_RW invertion in both functions, but then there are functions that read the PTE to make decision based on PAGE_RW for instance.
Where? The only relevant use of _PAGE_RW outside accessors that I see is in gup_pte_range(), which shouldn't be too hard to fix up. -Scott