* [PATCH] powerpc: fix compile error on 64K pages on 40x, 44x
@ 2017-09-26 19:03 Christian Lamparter
2017-09-26 19:25 ` Christophe LEROY
0 siblings, 1 reply; 3+ messages in thread
From: Christian Lamparter @ 2017-09-26 19:03 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
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 adding additional guard
conditions, that limit the initialization to just
platforms that define the pte_frag variable in the
mmu context.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
---
arch/powerpc/kernel/setup-common.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 0ac741fae90e..436d42a7d761 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -904,7 +904,9 @@ void __init setup_arch(char **cmdline_p)
#endif
#endif
-#ifdef CONFIG_PPC_64K_PAGES
+#if defined(CONFIG_PPC_64K_PAGES) && \
+ defined(CONFIG_PPC_BOOK3S_64) && \
+ defined(CONFIG_PPC_BOOK3E_MMU)
init_mm.context.pte_frag = NULL;
#endif
#ifdef CONFIG_SPAPR_TCE_IOMMU
--
2.14.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] powerpc: fix compile error on 64K pages on 40x, 44x
2017-09-26 19:03 [PATCH] powerpc: fix compile error on 64K pages on 40x, 44x Christian Lamparter
@ 2017-09-26 19:25 ` Christophe LEROY
2017-09-26 20:11 ` Christian Lamparter
0 siblings, 1 reply; 3+ messages in thread
From: Christophe LEROY @ 2017-09-26 19:25 UTC (permalink / raw)
To: Christian Lamparter, linuxppc-dev; +Cc: Paul Mackerras
Le 26/09/2017 à 21:03, 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 adding additional guard
> conditions, that limit the initialization to just
> platforms that define the pte_frag variable in the
> mmu context.
>
> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
> ---
> arch/powerpc/kernel/setup-common.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
> index 0ac741fae90e..436d42a7d761 100644
> --- a/arch/powerpc/kernel/setup-common.c
> +++ b/arch/powerpc/kernel/setup-common.c
> @@ -904,7 +904,9 @@ void __init setup_arch(char **cmdline_p)
> #endif
> #endif
>
> -#ifdef CONFIG_PPC_64K_PAGES
> +#if defined(CONFIG_PPC_64K_PAGES) && \
> + defined(CONFIG_PPC_BOOK3S_64) && \
> + defined(CONFIG_PPC_BOOK3E_MMU)
There must be something wrong here.
BOOK3E_MMU is defined if BOOK3E_64 or FSL_BOOKE
BOOK3S_64 and BOOK3E_64 are mutually exclusive
FSL_BOOKE is PPC32 which is mutually exclusive from PPC64.
Therefore you can't have both BOOK3S_64 and BOOK3E_MMU at the same time
Christophe
> init_mm.context.pte_frag = NULL;
> #endif
> #ifdef CONFIG_SPAPR_TCE_IOMMU
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] powerpc: fix compile error on 64K pages on 40x, 44x
2017-09-26 19:25 ` Christophe LEROY
@ 2017-09-26 20:11 ` Christian Lamparter
0 siblings, 0 replies; 3+ messages in thread
From: Christian Lamparter @ 2017-09-26 20:11 UTC (permalink / raw)
To: Christophe LEROY; +Cc: linuxppc-dev, Paul Mackerras
On Tuesday, September 26, 2017 9:25:30 PM CEST Christophe LEROY wrote:
>=20
> Le 26/09/2017 =C3=A0 21:03, Christian Lamparter a =C3=A9crit :
> > The mmu context on the 40x, 44x does not define pte_frag
> > entry. This causes gcc abort the compilation due to:
> >=20
> > setup-common.c: In function =E2=80=98setup_arch=E2=80=99:
> > setup-common.c:908: error: =E2=80=98mm_context_t=E2=80=99 has no =E2=80=
=98pte_frag=E2=80=99
> >=20
> > This patch fixes the issue by adding additional guard
> > conditions, that limit the initialization to just
> > platforms that define the pte_frag variable in the
> > mmu context.
> >=20
> > Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
> > ---
> > arch/powerpc/kernel/setup-common.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >=20
> > diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/s=
etup-common.c
> > index 0ac741fae90e..436d42a7d761 100644
> > --- a/arch/powerpc/kernel/setup-common.c
> > +++ b/arch/powerpc/kernel/setup-common.c
> > @@ -904,7 +904,9 @@ void __init setup_arch(char **cmdline_p)
> > #endif
> > #endif
> > =20
> > -#ifdef CONFIG_PPC_64K_PAGES
> > +#if defined(CONFIG_PPC_64K_PAGES) && \
> > + defined(CONFIG_PPC_BOOK3S_64) && \
> > + defined(CONFIG_PPC_BOOK3E_MMU)
>=20
> There must be something wrong here.
> BOOK3E_MMU is defined if BOOK3E_64 or FSL_BOOKE
> BOOK3S_64 and BOOK3E_64 are mutually exclusive
> FSL_BOOKE is PPC32 which is mutually exclusive from PPC64.
>=20
> Therefore you can't have both BOOK3S_64 and BOOK3E_MMU at the same time
Oops, yes. I guess it should be:
#if defined(CONFIG_PPC_64K_PAGES) && \
(defined(CONFIG_PPC_BOOK3S_64) || defined(CONFIG_PPC_BOOK3E_MMU))
right?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-09-26 20:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-26 19:03 [PATCH] powerpc: fix compile error on 64K pages on 40x, 44x Christian Lamparter
2017-09-26 19:25 ` Christophe LEROY
2017-09-26 20:11 ` Christian Lamparter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).