2016-07-12 22:12:18 +08:00
|
|
|
#ifndef __ASM_GENERIC_BITS_PER_LONG
|
|
|
|
#define __ASM_GENERIC_BITS_PER_LONG
|
|
|
|
|
|
|
|
#include <uapi/asm-generic/bitsperlong.h>
|
|
|
|
|
2016-07-14 02:04:04 +08:00
|
|
|
/*
|
|
|
|
* In the kernel, where this file comes from, we can rely on CONFIG_64BIT,
|
|
|
|
* here we have to make amends with what the various compilers provides us
|
|
|
|
* to figure out if we're on a 64-bit machine...
|
|
|
|
*/
|
|
|
|
#ifdef __SIZEOF_LONG__
|
|
|
|
# if __SIZEOF_LONG__ == 8
|
|
|
|
# define CONFIG_64BIT
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
# ifdef __WORDSIZE
|
|
|
|
# if __WORDSIZE == 64
|
|
|
|
# define CONFIG_64BIT
|
|
|
|
# endif
|
|
|
|
# else
|
|
|
|
# error Failed to determine BITS_PER_LONG value
|
|
|
|
# endif
|
|
|
|
#endif
|
2016-07-12 22:12:18 +08:00
|
|
|
|
|
|
|
#ifdef CONFIG_64BIT
|
|
|
|
#define BITS_PER_LONG 64
|
|
|
|
#else
|
|
|
|
#define BITS_PER_LONG 32
|
|
|
|
#endif /* CONFIG_64BIT */
|
|
|
|
|
2016-07-14 02:04:04 +08:00
|
|
|
#if BITS_PER_LONG != __BITS_PER_LONG
|
2016-07-12 22:12:18 +08:00
|
|
|
#error Inconsistent word size. Check asm/bitsperlong.h
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef BITS_PER_LONG_LONG
|
|
|
|
#define BITS_PER_LONG_LONG 64
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __ASM_GENERIC_BITS_PER_LONG */
|