powerpc/mm: Update _PAGE_KERNEL_RO
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Fri, 29 Apr 2016 13:25:36 +0000 (23:25 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 1 May 2016 08:32:30 +0000 (18:32 +1000)
commite58e87adc8bf92e9c6abb1dc1f4af2500aa07ff3
treec4af711ba617e4646735f695d2f79e9e975e1f66
parent96270b1fc25d527b015c73533119f6c85df2e0ff
powerpc/mm: Update _PAGE_KERNEL_RO

PS3 had used a PPP bit hack to implement a read only mapping in the
kernel area. Since we are bolting the ioremap area, it used the pte
flags _PAGE_PRESENT | _PAGE_USER to get a PPP value of 0x3 there by
resulting in a read only mapping. This means the area can be accessed by
user space, but kernel will never return such an address to user space.

But we can do better by implementing a read only kernel mapping using
PPP bits 0b110.

This also allows us to do read only kernel mapping for radix in later
patches.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/hash.h
arch/powerpc/mm/hash_utils_64.c
arch/powerpc/platforms/ps3/spu.c