Ram Pai <linux...@us.ibm.com> writes: > powerpc needs an additional vma bit to support 32 keys. > Till the additional vma bit lands in include/linux/mm.h > we have to define it in powerpc specific header file. > This is needed to get pkeys working on power. > > Signed-off-by: Ram Pai <linux...@us.ibm.com> > --- > arch/powerpc/include/asm/pkeys.h | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/arch/powerpc/include/asm/pkeys.h > b/arch/powerpc/include/asm/pkeys.h > index c02305a..44e01a2 100644 > --- a/arch/powerpc/include/asm/pkeys.h > +++ b/arch/powerpc/include/asm/pkeys.h > @@ -3,6 +3,24 @@ > > extern bool pkey_inited; > extern bool pkey_execute_disable_support; > + > +/* > + * powerpc needs an additional vma bit to support 32 keys. > + * Till the additional vma bit lands in include/linux/mm.h > + * we have to carry the hunk below. This is needed to get > + * pkeys working on power. -- Ram > + */ > +#ifndef VM_HIGH_ARCH_BIT_4 > +#define VM_HIGH_ARCH_BIT_4 36 > +#define VM_HIGH_ARCH_4 BIT(VM_HIGH_ARCH_BIT_4) > +#define VM_PKEY_SHIFT VM_HIGH_ARCH_BIT_0 > +#define VM_PKEY_BIT0 VM_HIGH_ARCH_0 > +#define VM_PKEY_BIT1 VM_HIGH_ARCH_1 > +#define VM_PKEY_BIT2 VM_HIGH_ARCH_2 > +#define VM_PKEY_BIT3 VM_HIGH_ARCH_3 > +#define VM_PKEY_BIT4 VM_HIGH_ARCH_4 > +#endif > + > #define ARCH_VM_PKEY_FLAGS 0
Do we want them in pkeys.h ? Even if they are arch specific for the existing ones we have them in include/linux/mm.h. IIUC, vmflags details are always in mm.h? This will be the first exception to that? > > static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) > -- > 1.7.1