1bb970707SArnaldo Carvalho de Melo #ifndef __ASM_GENERIC_BITS_PER_LONG 2bb970707SArnaldo Carvalho de Melo #define __ASM_GENERIC_BITS_PER_LONG 3bb970707SArnaldo Carvalho de Melo 4bb970707SArnaldo Carvalho de Melo #include <uapi/asm-generic/bitsperlong.h> 5bb970707SArnaldo Carvalho de Melo 6*2a00f026SArnaldo Carvalho de Melo /* 7*2a00f026SArnaldo Carvalho de Melo * In the kernel, where this file comes from, we can rely on CONFIG_64BIT, 8*2a00f026SArnaldo Carvalho de Melo * here we have to make amends with what the various compilers provides us 9*2a00f026SArnaldo Carvalho de Melo * to figure out if we're on a 64-bit machine... 10*2a00f026SArnaldo Carvalho de Melo */ 11*2a00f026SArnaldo Carvalho de Melo #ifdef __SIZEOF_LONG__ 12*2a00f026SArnaldo Carvalho de Melo # if __SIZEOF_LONG__ == 8 13*2a00f026SArnaldo Carvalho de Melo # define CONFIG_64BIT 14*2a00f026SArnaldo Carvalho de Melo # endif 15*2a00f026SArnaldo Carvalho de Melo #else 16*2a00f026SArnaldo Carvalho de Melo # ifdef __WORDSIZE 17*2a00f026SArnaldo Carvalho de Melo # if __WORDSIZE == 64 18*2a00f026SArnaldo Carvalho de Melo # define CONFIG_64BIT 19*2a00f026SArnaldo Carvalho de Melo # endif 20*2a00f026SArnaldo Carvalho de Melo # else 21*2a00f026SArnaldo Carvalho de Melo # error Failed to determine BITS_PER_LONG value 22*2a00f026SArnaldo Carvalho de Melo # endif 23*2a00f026SArnaldo Carvalho de Melo #endif 24bb970707SArnaldo Carvalho de Melo 25bb970707SArnaldo Carvalho de Melo #ifdef CONFIG_64BIT 26bb970707SArnaldo Carvalho de Melo #define BITS_PER_LONG 64 27bb970707SArnaldo Carvalho de Melo #else 28bb970707SArnaldo Carvalho de Melo #define BITS_PER_LONG 32 29bb970707SArnaldo Carvalho de Melo #endif /* CONFIG_64BIT */ 30bb970707SArnaldo Carvalho de Melo 31*2a00f026SArnaldo Carvalho de Melo #if BITS_PER_LONG != __BITS_PER_LONG 32bb970707SArnaldo Carvalho de Melo #error Inconsistent word size. Check asm/bitsperlong.h 33bb970707SArnaldo Carvalho de Melo #endif 34bb970707SArnaldo Carvalho de Melo 35bb970707SArnaldo Carvalho de Melo #ifndef BITS_PER_LONG_LONG 36bb970707SArnaldo Carvalho de Melo #define BITS_PER_LONG_LONG 64 37bb970707SArnaldo Carvalho de Melo #endif 38bb970707SArnaldo Carvalho de Melo 39bb970707SArnaldo Carvalho de Melo #endif /* __ASM_GENERIC_BITS_PER_LONG */ 40