[PATCH v3] powerpc: fix compile error on 64K pages on 40x, 44x
Christophe LEROY
christophe.leroy at c-s.fr
Tue Oct 3 19:46:31 AEDT 2017
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 <chunkeey at gmail.com>
Reviewed-by: Christophe Leroy <christophe.leroy at c-s.fr>
> ---
> 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
>
More information about the Linuxppc-dev
mailing list