On Sat, Oct 07, 2017 at 09:02:55PM +1100, Michael Ellerman wrote: > Ram Pai <linux...@us.ibm.com> writes: > > > Total 32 keys are available on power7 and above. However > > pkey 0,1 are reserved. So effectively we have 30 pkeys. > > > > On 4K kernels, we do not have 5 bits in the PTE to > > represent all the keys; we only have 3bits.Two of those > > keys are reserved; pkey 0 and pkey 1. So effectively we > > have 6 pkeys. > > > > This patch keeps track of reserved keys, allocated keys > > and keys that are currently free. > > > > Also it adds skeletal functions and macros, that the > > architecture-independent code expects to be available. > > > > Signed-off-by: Ram Pai <linux...@us.ibm.com> > > --- > > arch/powerpc/include/asm/book3s/64/mmu.h | 9 ++++ > > arch/powerpc/include/asm/mmu_context.h | 1 + > > arch/powerpc/include/asm/pkeys.h | 72 > > ++++++++++++++++++++++++++++-- > > arch/powerpc/mm/mmu_context_book3s64.c | 2 + > > arch/powerpc/mm/pkeys.c | 28 ++++++++++++ > > 5 files changed, 108 insertions(+), 4 deletions(-) > > This doesn't build for me, with pseries_le_defconfig. I assume it built > for you. So something has changed upstream maybe? >
Yes. :( The following commit upstream broke my patches. df3735c5b40fad8d0d28eb8ab065fe955b3347ee Will fix and send you a patch. RP > > In file included from ../include/linux/pkeys.h:8:0, > from ../mm/mprotect.c:26: > ../mm/mprotect.c: In function ‘do_mprotect_pkey’: > ../arch/powerpc/include/asm/pkeys.h:27:29: error: ‘VM_PKEY_BIT0’ undeclared > (first use in this function) > #define ARCH_VM_PKEY_FLAGS (VM_PKEY_BIT0 | VM_PKEY_BIT1 | VM_PKEY_BIT2 | \ > ^ ..snip...