Message ID | 675068dc-3874-4ff3-fdf3-8b96b8e43574@xenosoft.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | PowerPC fixes 5.1-3: CONFIG_SPARSEMEM doesn't exist in the kernel source code | expand |
I was able to activate CONFIG_SPARSEMEM in the kernel configuration. But does the P.A. Semi Nemo board need this option? -- Christian On 25 March 2019 at 12:00PM, Christian Zigotzky wrote: > Hi All, > > I wasn't able to compile the RC2 today because of the following error > messages: > > CC arch/powerpc/mm/slb.o > In file included from ./arch/powerpc/include/asm/book3s/64/mmu.h:39:0, > from ./arch/powerpc/include/asm/mmu.h:360, > from ./arch/powerpc/include/asm/lppaca.h:36, > from ./arch/powerpc/include/asm/paca.h:21, > from ./arch/powerpc/include/asm/current.h:16, > from ./include/linux/thread_info.h:21, > from ./include/asm-generic/preempt.h:5, > from ./arch/powerpc/include/generated/asm/preempt.h:1, > from ./include/linux/preempt.h:78, > from ./include/linux/spinlock.h:51, > from ./include/linux/mmzone.h:8, > from ./include/linux/gfp.h:6, > from ./include/linux/mm.h:10, > from ./arch/powerpc/include/asm/cacheflush.h:12, > from ./arch/powerpc/include/asm/asm-prototypes.h:16, > from arch/powerpc/mm/slb.c:17: > ./arch/powerpc/include/asm/book3s/64/mmu-hash.h:584:6: warning: > "MAX_PHYSMEM_BITS" is not defined [-Wundef] > #if (MAX_PHYSMEM_BITS > MAX_EA_BITS_PER_CONTEXT) > ^ > arch/powerpc/mm/slb.c: In function 'slb_allocate_kernel': > arch/powerpc/mm/slb.c:697:37: error: 'MAX_PHYSMEM_BITS' undeclared > (first use in this function) > if ((ea & ~REGION_MASK) > (1UL << MAX_PHYSMEM_BITS)) > ^ > arch/powerpc/mm/slb.c:697:37: note: each undeclared identifier is > reported only once for each function it appears in > scripts/Makefile.build:278: recipe for target 'arch/powerpc/mm/slb.o' > failed > make[3]: *** [arch/powerpc/mm/slb.o] Error 1 > scripts/Makefile.build:489: recipe for target 'arch/powerpc/mm' failed > make[2]: *** [arch/powerpc/mm] Error 2 > /home/christian/Downloads/a/Makefile:1046: recipe for target > 'arch/powerpc' failed > make[1]: *** [arch/powerpc] Error 2 > Makefile:170: recipe for target 'sub-make' failed > make: *** [sub-make] Error 2 > > ----- > > The variable MAX_PHYSMEM_BITS isn't defined. The problem is in the > last PowerPC fixes 5.1-3: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.1-rc2&id=a5ed1e96cafde5ba48638f486bfca0685dc6ddc9 > > Commit log: powerpc/mm: Only define MAX_PHYSMEM_BITS in SPARSEMEM > configurations > > Problematic fix: > > diff --git a/arch/powerpc/include/asm/mmu.h > b/arch/powerpc/include/asm/mmu.h > index d34ad1657d7b..598cdcdd1355 100644 > --- a/arch/powerpc/include/asm/mmu.h > +++ b/arch/powerpc/include/asm/mmu.h > @@ -352,7 +352,7 @@ static inline bool strict_kernel_rwx_enabled(void) > #if defined(CONFIG_SPARSEMEM_VMEMMAP) && > defined(CONFIG_SPARSEMEM_EXTREME) && \ > defined (CONFIG_PPC_64K_PAGES) > #define MAX_PHYSMEM_BITS 51 > -#else > +#elif defined(CONFIG_SPARSEMEM) > #define MAX_PHYSMEM_BITS 46 > #endif > > The first if statement isn't successfull because the variables > CONFIG_SPARSEMEM_EXTREME and CONFIG_PPC_64K_PAGES aren't activated in > our kernel configuration. Therefore we need MAX_PHYSMEM_BITS 46 for > our Nemo board. Unfortunately CONFIG_SPARSEMEM doesn't exist in the > kernel source code so we can't activate it in the kernel config. > > I replaced '#elif defined(CONFIG_SPARSEMEM)' with '#else' and after > that the compiling of the RC2 works again. > > Please check if CONFIG_SPARSEMEM exists. > > Thanks, > Christian
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index d34ad1657d7b..598cdcdd1355 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h @@ -352,7 +352,7 @@ static inline bool strict_kernel_rwx_enabled(void) #if defined(CONFIG_SPARSEMEM_VMEMMAP) && defined(CONFIG_SPARSEMEM_EXTREME) && \ defined (CONFIG_PPC_64K_PAGES) #define MAX_PHYSMEM_BITS 51 -#else +#elif defined(CONFIG_SPARSEMEM) #define MAX_PHYSMEM_BITS 46 #endif