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 ↗ jump to 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