[PATCH v4 00/17] powerpc: Make hash MMU code build configurable

Christophe Leroy christophe.leroy at csgroup.eu
Fri Nov 26 04:35:44 AEDT 2021



Le 25/11/2021 à 17:35, Christophe Leroy a écrit :
> 
> 
> Le 25/11/2021 à 13:50, Nicholas Piggin a écrit :
>> Now that there's a platform that can make good use of it, here's
>> a series that can prevent the hash MMU code being built for 64s
>> platforms that don't need it.
> 
> # CONFIG_PPC_64S_HASH_MMU is not set
> 
> 
> <stdin>:1559:2: warning: #warning syscall futex_waitv not implemented 
> [-Wcpp]
> arch/powerpc/platforms/cell/spu_base.c: In function '__spu_kernel_slb':
> arch/powerpc/platforms/cell/spu_base.c:215:38: error: 'mmu_linear_psize' 
> undeclared (first use in this function); did you mean 'mmu_virtual_psize'?
>    215 |                 llp = mmu_psize_defs[mmu_linear_psize].sllp;
>        |                                      ^~~~~~~~~~~~~~~~
>        |                                      mmu_virtual_psize
> arch/powerpc/platforms/cell/spu_base.c:215:38: note: each undeclared 
> identifier is reported only once for each function it appears in
> make[3]: *** [scripts/Makefile.build:287: 
> arch/powerpc/platforms/cell/spu_base.o] Error 1
> make[2]: *** [scripts/Makefile.build:549: arch/powerpc/platforms/cell] 
> Error 2
> make[1]: *** [scripts/Makefile.build:549: arch/powerpc/platforms] Error 2
> make: *** [Makefile:1846: arch/powerpc] Error 2
> 
> 


With CONFIG_SPU_BASE removed, the above voids and I get to the final 
link with the following errors:

powerpc64-linux-gnu-ld: warning: discarding dynamic section .glink
powerpc64-linux-gnu-ld: warning: discarding dynamic section .plt
powerpc64-linux-gnu-ld: linkage table error against `update_mmu_cache'
powerpc64-linux-gnu-ld: stubs don't match calculated size
powerpc64-linux-gnu-ld: can not build stubs: bad value
powerpc64-linux-gnu-ld: 
arch/powerpc/platforms/pasemi/setup.o:(.toc+0x0): undefined reference to 
`mmu_slb_size'
powerpc64-linux-gnu-ld: arch/powerpc/platforms/cell/iommu.o:(.toc+0x0): 
undefined reference to `htab_address'
powerpc64-linux-gnu-ld: arch/powerpc/platforms/cell/iommu.o:(.toc+0x8): 
undefined reference to `htab_size_bytes'
powerpc64-linux-gnu-ld: arch/powerpc/platforms/ps3/htab.o:(.toc+0x0): 
undefined reference to `mmu_hash_ops'
powerpc64-linux-gnu-ld: mm/filemap.o: in function `.filemap_map_pages':
(.text+0x6f08): undefined reference to `.update_mmu_cache'
powerpc64-linux-gnu-ld: mm/gup.o: in function `.follow_page_pte':
gup.c:(.text+0x1b38): undefined reference to `.update_mmu_cache'
powerpc64-linux-gnu-ld: mm/memory.o: in function `.wp_page_copy':
memory.c:(.text+0xd84): undefined reference to `.update_mmu_cache'
powerpc64-linux-gnu-ld: memory.c:(.text+0x1528): undefined reference to 
`.update_mmu_cache'
powerpc64-linux-gnu-ld: mm/memory.o: in function `.finish_mkwrite_fault':
(.text+0x3d6c): undefined reference to `.update_mmu_cache'
powerpc64-linux-gnu-ld: mm/memory.o:memory.c:(.text+0x4254): more 
undefined references to `.update_mmu_cache' follow
make: *** [Makefile:1161: vmlinux] Error 1


More information about the Linuxppc-dev mailing list