Hi Peter, On Tue, 24 Apr 2012 18:10:41 +0200 Peter Zijlstra wrote: > > Grow rudimentary u128 support without relying on gcc/libgcc. > > Cc: Ingo Molnar > Cc: Thomas Gleixner > Cc: Andrew Morton > Cc: Linus Torvalds > Signed-off-by: Peter Zijlstra > --- > arch/alpha/include/asm/math128.h | 4 ++ > arch/arm/include/asm/math128.h | 4 ++ > arch/avr32/include/asm/math128.h | 4 ++ > arch/blackfin/include/asm/math128.h | 4 ++ > arch/c6x/include/asm/math128.h | 4 ++ > arch/cris/include/asm/math128.h | 4 ++ > arch/frv/include/asm/math128.h | 4 ++ > arch/h8300/include/asm/math128.h | 4 ++ > arch/hexagon/include/asm/math128.h | 4 ++ > arch/ia64/include/asm/math128.h | 4 ++ > arch/m32r/include/asm/math128.h | 4 ++ > arch/m68k/include/asm/math128.h | 4 ++ > arch/microblaze/include/asm/math128.h | 4 ++ > arch/mips/include/asm/math128.h | 4 ++ > arch/mn10300/include/asm/math128.h | 4 ++ > arch/openrisc/include/asm/math128.h | 4 ++ > arch/parisc/include/asm/math128.h | 4 ++ > arch/powerpc/include/asm/math128.h | 4 ++ > arch/s390/include/asm/math128.h | 4 ++ > arch/score/include/asm/math128.h | 4 ++ > arch/sh/include/asm/math128.h | 4 ++ > arch/sparc/include/asm/math128.h | 4 ++ > arch/tile/include/asm/math128.h | 4 ++ > arch/um/include/asm/math128.h | 4 ++ > arch/unicore32/include/asm/math128.h | 4 ++ > arch/x86/include/asm/math128.h | 4 ++ > arch/xtensa/include/asm/math128.h | 4 ++ > include/linux/math128.h | 47 ++++++++++++++++++++++++++++++++++ Isn't this what asm-generic is for? You put the generic version in asm-generic/math128.h and then add "generic-y += math128.h" to arch/*/include/asm/Kbuild for each arch that wants the generic version. Then just include asm/math128.h in linux/math128.h. Any arch that wants to optimise these can then just provide its own math128.h. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au