powerpc/memkey: fix compilation error caused by upstream changes

Message ID 1507565506-17040-1-git-send-email-linuxram@us.ibm.com
State Changes Requested
Headers show
Series
  • powerpc/memkey: fix compilation error caused by upstream changes
Related show

Commit Message

Ram Pai Oct. 9, 2017, 4:11 p.m.
"commit df3735c5 -- x86,mpx: make mpx depend on x86-64 to free up VMA flag"
added the same vm highmem flag we had introduced for PKEY4. That broke
some of the definitions in pkeys.h

This patch fixes the issue.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
---
 arch/powerpc/include/asm/pkeys.h |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

Comments

Michael Ellerman Oct. 10, 2017, 9 a.m. | #1
Ram Pai <linuxram@us.ibm.com> writes:

> "commit df3735c5 -- x86,mpx: make mpx depend on x86-64 to free up VMA flag"
> added the same vm highmem flag we had introduced for PKEY4. That broke
> some of the definitions in pkeys.h
>
> This patch fixes the issue.
>
> Signed-off-by: Ram Pai <linuxram@us.ibm.com>
> ---
>  arch/powerpc/include/asm/pkeys.h |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)

Thanks.

Next problem is pmac32, corenet32/corenet64_smp defconfigs:

  arch/powerpc/include/asm/pkeys.h:19:23: error: 'VM_HIGH_ARCH_BIT_0' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:20:22: error: 'VM_HIGH_ARCH_0' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:21:22: error: 'VM_HIGH_ARCH_1' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:22:22: error: 'VM_HIGH_ARCH_2' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:23:22: error: 'VM_HIGH_ARCH_3' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:24:22: error: 'VM_HIGH_ARCH_4' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:50:39: error: 'H_PAGE_PKEY_BIT4' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:51:32: error: 'H_PAGE_PKEY_BIT3' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:52:32: error: 'H_PAGE_PKEY_BIT2' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:53:32: error: 'H_PAGE_PKEY_BIT1' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:54:32: error: 'H_PAGE_PKEY_BIT0' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:77:23: error: 'H_PAGE_PKEY_BIT0' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:77:43: error: 'HPTE_R_KEY_BIT0' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:78:16: error: 'H_PAGE_PKEY_BIT1' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:78:36: error: 'HPTE_R_KEY_BIT1' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:79:16: error: 'H_PAGE_PKEY_BIT2' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:79:36: error: 'HPTE_R_KEY_BIT2' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:80:16: error: 'H_PAGE_PKEY_BIT3' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:80:36: error: 'HPTE_R_KEY_BIT3' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:81:16: error: 'H_PAGE_PKEY_BIT4' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:81:36: error: 'HPTE_R_KEY_BIT4' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:89:23: error: 'H_PAGE_PKEY_BIT0' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:90:16: error: 'H_PAGE_PKEY_BIT1' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:91:16: error: 'H_PAGE_PKEY_BIT2' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:92:16: error: 'H_PAGE_PKEY_BIT3' undeclared (first use in this function)
  arch/powerpc/include/asm/pkeys.h:93:16: error: 'H_PAGE_PKEY_BIT4' undeclared (first use in this function)
  arch/powerpc/include/asm/mmu_context.h:199:19: error: redefinition of 'vma_pkey'
  arch/powerpc/include/asm/mmu_context.h:204:19: error: redefinition of 'pte_to_hpte_pkey_bits'
  arch/powerpc/include/asm/pkeys.h:102:48: error: 'mm_context_t' has no member named 'pkey_allocation_map'
  arch/powerpc/include/asm/pkeys.h:224:13: error: 'mm_context_t' has no member named 'execute_only_pkey'

cheers
Ram Pai Oct. 10, 2017, 4:19 p.m. | #2
On Tue, Oct 10, 2017 at 08:00:27PM +1100, Michael Ellerman wrote:
> Ram Pai <linuxram@us.ibm.com> writes:
> 
> > "commit df3735c5 -- x86,mpx: make mpx depend on x86-64 to free up VMA flag"
> > added the same vm highmem flag we had introduced for PKEY4. That broke
> > some of the definitions in pkeys.h
> >
> > This patch fixes the issue.
> >
> > Signed-off-by: Ram Pai <linuxram@us.ibm.com>
> > ---
> >  arch/powerpc/include/asm/pkeys.h |    4 +---
> >  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> Thanks.

Oops. this bug is already fixed in my latest branch. Balbir had
commented about it. the issue is that Kconfig is configued to depend on
PPC64 instead of PPC_BOOK3S_64. Will send a fix that applies to your
tree, right away.

RP

> 
> Next problem is pmac32, corenet32/corenet64_smp defconfigs:
> 
>   arch/powerpc/include/asm/pkeys.h:19:23: error: 'VM_HIGH_ARCH_BIT_0' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:20:22: error: 'VM_HIGH_ARCH_0' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:21:22: error: 'VM_HIGH_ARCH_1' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:22:22: error: 'VM_HIGH_ARCH_2' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:23:22: error: 'VM_HIGH_ARCH_3' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:24:22: error: 'VM_HIGH_ARCH_4' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:50:39: error: 'H_PAGE_PKEY_BIT4' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:51:32: error: 'H_PAGE_PKEY_BIT3' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:52:32: error: 'H_PAGE_PKEY_BIT2' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:53:32: error: 'H_PAGE_PKEY_BIT1' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:54:32: error: 'H_PAGE_PKEY_BIT0' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:77:23: error: 'H_PAGE_PKEY_BIT0' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:77:43: error: 'HPTE_R_KEY_BIT0' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:78:16: error: 'H_PAGE_PKEY_BIT1' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:78:36: error: 'HPTE_R_KEY_BIT1' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:79:16: error: 'H_PAGE_PKEY_BIT2' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:79:36: error: 'HPTE_R_KEY_BIT2' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:80:16: error: 'H_PAGE_PKEY_BIT3' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:80:36: error: 'HPTE_R_KEY_BIT3' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:81:16: error: 'H_PAGE_PKEY_BIT4' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:81:36: error: 'HPTE_R_KEY_BIT4' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:89:23: error: 'H_PAGE_PKEY_BIT0' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:90:16: error: 'H_PAGE_PKEY_BIT1' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:91:16: error: 'H_PAGE_PKEY_BIT2' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:92:16: error: 'H_PAGE_PKEY_BIT3' undeclared (first use in this function)
>   arch/powerpc/include/asm/pkeys.h:93:16: error: 'H_PAGE_PKEY_BIT4' undeclared (first use in this function)
>   arch/powerpc/include/asm/mmu_context.h:199:19: error: redefinition of 'vma_pkey'
>   arch/powerpc/include/asm/mmu_context.h:204:19: error: redefinition of 'pte_to_hpte_pkey_bits'
>   arch/powerpc/include/asm/pkeys.h:102:48: error: 'mm_context_t' has no member named 'pkey_allocation_map'
>   arch/powerpc/include/asm/pkeys.h:224:13: error: 'mm_context_t' has no member named 'execute_only_pkey'
> 
> cheers

Patch

diff --git a/arch/powerpc/include/asm/pkeys.h b/arch/powerpc/include/asm/pkeys.h
index baac435..da0d5e6 100644
--- a/arch/powerpc/include/asm/pkeys.h
+++ b/arch/powerpc/include/asm/pkeys.h
@@ -15,9 +15,7 @@ 
  * 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)
+#ifndef VM_PKEY_BIT4
 #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