[PATCH v3] powerpc: fix compile error on 64K pages on 40x, 44x

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3225d

3 messages, 3 authors, 2017-10-05 · open the first message on its own page

[PATCH v3] powerpc: fix compile error on 64K pages on 40x, 44x

From: Christian Lamparter <hidden>
Date: 2017-10-01 14:33:10

The mmu context on the 40x, 44x does not define pte_frag
entry. This causes gcc abort the compilation due to:

setup-common.c: In function ‘setup_arch’:
setup-common.c:908: error: ‘mm_context_t’ has no ‘pte_frag’

This patch fixes the issue by removing the pte_frag
initialization in setup-common.c.

This is possible, because the compiler will do the
initialization, since the mm_context is a sub struct of
init_mm. init_mm is declared in mm_types.h as external linkage.
according to C99 6.2.4.3:
"An object whose identifier is declared with external linkage
[...] has static storage duration."

C99 defines in 6.7.8.10 that: "
If an object that has static storage duration is not
initialized explicitly, then:
- if it has pointer type, it is initialized to a null pointer
[...]
"

Signed-off-by: Christian Lamparter <redacted>
---
 arch/powerpc/kernel/setup-common.c | 3 ---
 1 file changed, 3 deletions(-)
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 0ac741fae90e..2e3bc16d02b2 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -904,9 +904,6 @@ void __init setup_arch(char **cmdline_p)
 #endif
 #endif
 
-#ifdef CONFIG_PPC_64K_PAGES
-	init_mm.context.pte_frag = NULL;
-#endif
 #ifdef CONFIG_SPAPR_TCE_IOMMU
 	mm_iommu_init(&init_mm);
 #endif
-- 
2.14.2

Re: [PATCH v3] powerpc: fix compile error on 64K pages on 40x, 44x

From: Christophe LEROY <hidden>
Date: 2017-10-03 08:46:36


Le 01/10/2017 à 16:33, Christian Lamparter a écrit :
The mmu context on the 40x, 44x does not define pte_frag
entry. This causes gcc abort the compilation due to:

setup-common.c: In function ‘setup_arch’:
setup-common.c:908: error: ‘mm_context_t’ has no ‘pte_frag’

This patch fixes the issue by removing the pte_frag
initialization in setup-common.c.

This is possible, because the compiler will do the
initialization, since the mm_context is a sub struct of
init_mm. init_mm is declared in mm_types.h as external linkage.
according to C99 6.2.4.3:
"An object whose identifier is declared with external linkage
[...] has static storage duration."

C99 defines in 6.7.8.10 that: "
If an object that has static storage duration is not
initialized explicitly, then:
- if it has pointer type, it is initialized to a null pointer
[...]
"

Signed-off-by: Christian Lamparter <redacted>
Reviewed-by: Christophe Leroy <redacted>
quoted hunk
---
  arch/powerpc/kernel/setup-common.c | 3 ---
  1 file changed, 3 deletions(-)
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 0ac741fae90e..2e3bc16d02b2 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -904,9 +904,6 @@ void __init setup_arch(char **cmdline_p)
  #endif
  #endif
  
-#ifdef CONFIG_PPC_64K_PAGES
-	init_mm.context.pte_frag = NULL;
-#endif
  #ifdef CONFIG_SPAPR_TCE_IOMMU
  	mm_iommu_init(&init_mm);
  #endif

Re: [v3] powerpc: fix compile error on 64K pages on 40x, 44x

From: Michael Ellerman <hidden>
Date: 2017-10-05 04:22:21

On Sun, 2017-10-01 at 14:33:03 UTC, Christian Lamparter wrote:
The mmu context on the 40x, 44x does not define pte_frag
entry. This causes gcc abort the compilation due to:

setup-common.c: In function ���setup_arch���:
setup-common.c:908: error: ���mm_context_t��� has no ���pte_frag���

This patch fixes the issue by removing the pte_frag
initialization in setup-common.c.

This is possible, because the compiler will do the
initialization, since the mm_context is a sub struct of
init_mm. init_mm is declared in mm_types.h as external linkage.
according to C99 6.2.4.3:
"An object whose identifier is declared with external linkage
[...] has static storage duration."

C99 defines in 6.7.8.10 that: "
If an object that has static storage duration is not
initialized explicitly, then:
- if it has pointer type, it is initialized to a null pointer
[...]
"

Signed-off-by: Christian Lamparter <redacted>
Reviewed-by: Christophe Leroy <redacted>
Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/070e004912fed099263408bf2ff1bb

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help