# git rev-parse -q --verify 36cf482b3a3573b6b51527da2c89cf6dd2989bde^{commit} 36cf482b3a3573b6b51527da2c89cf6dd2989bde already have revision, skipping fetch # git checkout -q -f -B kisskb 36cf482b3a3573b6b51527da2c89cf6dd2989bde # git clean -qxdf # < git log -1 # commit 36cf482b3a3573b6b51527da2c89cf6dd2989bde # Author: Christophe Leroy # Date: Mon May 28 12:31:19 2018 +0000 # # powerpc/8xx: set GUARDED attribute in the PMD directly # # On the 8xx, the GUARDED attribute of the pages is managed in the # L1 entry, therefore to avoid having to copy it into L1 entry # at each TLB miss, we set it in the PMD. # # Signed-off-by: Christophe Leroy # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 36cf482b3a3573b6b51527da2c89cf6dd2989bde # < make -s -j 8 ARCH=powerpc O=/kisskb/build/chleroy_85xx_ppa8548_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 85xx/ppa8548_defconfig # make -s -j 8 ARCH=powerpc O=/kisskb/build/chleroy_85xx_ppa8548_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/arch/powerpc/include/asm/page.h:316:0, from /kisskb/src/arch/powerpc/include/asm/thread_info.h:29, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/arch/powerpc/include/asm/ptrace.h:159, from /kisskb/src/arch/powerpc/include/asm/hw_irq.h:12, from /kisskb/src/arch/powerpc/include/asm/irqflags.h:12, from /kisskb/src/include/linux/irqflags.h:16, from /kisskb/src/include/asm-generic/cmpxchg-local.h:6, from /kisskb/src/arch/powerpc/include/asm/cmpxchg.h:537, from /kisskb/src/arch/powerpc/include/asm/atomic.h:11, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/linux/rcupdate.h:38, from /kisskb/src/include/linux/rculist.h:11, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/arch/powerpc/mm/mem.c:21: /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h: In function 'pmd_populate': /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h:87:51: error: passing argument 1 of 'lowmem_page_address' from incompatible pointer type [-Werror=incompatible-pointer-types] *pmdp = __pmd((unsigned long)lowmem_page_address(pte_page) | _PMD_PRESENT); ^ /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:42:30: note: in definition of macro '__pgd' #define __pgd(x) ((pgd_t) { (x) }) ^ /kisskb/src/include/asm-generic/pgtable-nopmd.h:50:32: note: in expansion of macro '__pud' #define __pmd(x) ((pmd_t) { __pud(x) } ) ^ /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h:87:10: note: in expansion of macro '__pmd' *pmdp = __pmd((unsigned long)lowmem_page_address(pte_page) | _PMD_PRESENT); ^ In file included from /kisskb/src/arch/powerpc/mm/mem.c:27:0: /kisskb/src/include/linux/mm.h:1156:30: note: expected 'const struct page *' but argument is of type 'pgtable_t {aka struct *}' static __always_inline void *lowmem_page_address(const struct page *page) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:316:0, from /kisskb/src/arch/powerpc/include/asm/thread_info.h:29, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/include/asm-generic/preempt.h:5, from ./arch/powerpc/include/generated/asm/preempt.h:1, from /kisskb/src/include/linux/preempt.h:81, from /kisskb/src/include/linux/spinlock.h:51, from /kisskb/src/include/linux/mmzone.h:8, from /kisskb/src/include/linux/gfp.h:6, from /kisskb/src/arch/powerpc/mm/pgtable.c:25: /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h: In function 'pmd_populate': /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h:87:51: error: passing argument 1 of 'lowmem_page_address' from incompatible pointer type [-Werror=incompatible-pointer-types] *pmdp = __pmd((unsigned long)lowmem_page_address(pte_page) | _PMD_PRESENT); ^ /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:42:30: note: in definition of macro '__pgd' #define __pgd(x) ((pgd_t) { (x) }) ^ /kisskb/src/include/asm-generic/pgtable-nopmd.h:50:32: note: in expansion of macro '__pud' #define __pmd(x) ((pmd_t) { __pud(x) } ) ^ /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h:87:10: note: in expansion of macro '__pmd' *pmdp = __pmd((unsigned long)lowmem_page_address(pte_page) | _PMD_PRESENT); ^ In file included from /kisskb/src/arch/powerpc/mm/pgtable.c:26:0: /kisskb/src/include/linux/mm.h:1156:30: note: expected 'const struct page *' but argument is of type 'pgtable_t {aka struct *}' static __always_inline void *lowmem_page_address(const struct page *page) ^ cc1: all warnings being treated as errors make[2]: *** [/kisskb/src/scripts/Makefile.build:307: arch/powerpc/mm/mem.o] Error 1 make[2]: *** Waiting for unfinished jobs.... cc1: all warnings being treated as errors make[2]: *** [/kisskb/src/scripts/Makefile.build:307: arch/powerpc/mm/pgtable.o] Error 1 In file included from /kisskb/src/arch/powerpc/include/asm/page.h:316:0, from /kisskb/src/arch/powerpc/include/asm/thread_info.h:29, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/include/asm-generic/preempt.h:5, from ./arch/powerpc/include/generated/asm/preempt.h:1, from /kisskb/src/include/linux/preempt.h:81, from /kisskb/src/include/linux/spinlock.h:51, from /kisskb/src/include/linux/seqlock.h:36, from /kisskb/src/include/linux/time.h:6, from /kisskb/src/include/linux/stat.h:19, from /kisskb/src/include/linux/module.h:10, from /kisskb/src/arch/powerpc/mm/init_32.c:20: /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h: In function 'pmd_populate': /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h:87:51: error: passing argument 1 of 'lowmem_page_address' from incompatible pointer type [-Werror=incompatible-pointer-types] *pmdp = __pmd((unsigned long)lowmem_page_address(pte_page) | _PMD_PRESENT); ^ /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:42:30: note: in definition of macro '__pgd' #define __pgd(x) ((pgd_t) { (x) }) ^ /kisskb/src/include/asm-generic/pgtable-nopmd.h:50:32: note: in expansion of macro '__pud' #define __pmd(x) ((pmd_t) { __pud(x) } ) ^ /kisskb/src/arch/powerpc/include/asm/nohash/32/pgalloc.h:87:10: note: in expansion of macro '__pmd' *pmdp = __pmd((unsigned long)lowmem_page_address(pte_page) | _PMD_PRESENT); ^ In file included from /kisskb/src/arch/powerpc/mm/init_32.c:26:0: /kisskb/src/include/linux/mm.h:1156:30: note: expected 'const struct page *' but argument is of type 'pgtable_t {aka struct *}' static __always_inline void *lowmem_page_address(const struct page *page) ^ cc1: all warnings being treated as errors make[2]: *** [/kisskb/src/scripts/Makefile.build:307: arch/powerpc/mm/init_32.o] Error 1 make[1]: *** [/kisskb/src/Makefile:1057: arch/powerpc/mm] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:146: sub-make] Error 2 Command 'make -s -j 8 ARCH=powerpc O=/kisskb/build/chleroy_85xx_ppa8548_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/chleroy_85xx_ppa8548_defconfig_powerpc-gcc5 # Build took: 0:00:06.364093