On Fri, Jan 14, 2011 at 09:50:45AM -0800, Luck, Tony wrote: > In file included from /home/aegl/generic-smp/arch/ia64/include/asm/pgtable.h:611, > from include/linux/mm.h:41, > from /home/aegl/generic-smp/arch/ia64/include/asm/uaccess.h:39, > from include/linux/poll.h:14, > from include/linux/rtc.h:117, > from include/linux/efi.h:19, > from /home/aegl/generic-smp/arch/ia64/include/asm/sal.h:40, > from /home/aegl/generic-smp/arch/ia64/include/asm/mca.h:20, > from arch/ia64/kernel/asm-offsets.c:17: > include/asm-generic/pgtable.h: In function ‘pmdp_get_and_clear’: > include/asm-generic/pgtable.h:96: error: implicit declaration of function ‘__pmd’ > include/asm-generic/pgtable.h:96: error: incompatible types in return > make[1]: *** [arch/ia64/kernel/asm-offsets.s] Error 1 > > > Looks like arch/*/include/pgtable.h needs to define __pmd() but only x86 > was blessed with it. So I fixed powerpc build and sparc but broke ia64 with this change sorry, hard to make all archs build consistent. See the attached mails. Would you be willing to implement __pmd for ia64 to fix this? Can you check if this works? Thanks a lot, Andrea ======== Subject: fix ia64 build failure in pmdp_get_and_clear From: Andrea Arcangeli Implement __pmd macro for ia64 too. Signed-off-by: Andrea Arcangeli --- diff --git a/arch/ia64/include/asm/page.h b/arch/ia64/include/asm/page.h index 41b6d31..961a16f 100644 --- a/arch/ia64/include/asm/page.h +++ b/arch/ia64/include/asm/page.h @@ -189,6 +189,7 @@ get_order (unsigned long size) # define pgprot_val(x) ((x).pgprot) # define __pte(x) ((pte_t) { (x) } ) +# define __pmd(x) ((pmd_t) { (x) } ) # define __pgprot(x) ((pgprot_t) { (x) } ) #else /* !STRICT_MM_TYPECHECKS */