mirror of https://gitee.com/openkylin/linux.git
33 lines
874 B
C
33 lines
874 B
C
|
#ifndef __ASM_GENERIC_BITS_PER_LONG
|
||
|
#define __ASM_GENERIC_BITS_PER_LONG
|
||
|
|
||
|
/*
|
||
|
* There seems to be no way of detecting this automatically from user
|
||
|
* space, so 64 bit architectures should override this in their
|
||
|
* bitsperlong.h. In particular, an architecture that supports
|
||
|
* both 32 and 64 bit user space must not rely on CONFIG_64BIT
|
||
|
* to decide it, but rather check a compiler provided macro.
|
||
|
*/
|
||
|
#ifndef __BITS_PER_LONG
|
||
|
#define __BITS_PER_LONG 32
|
||
|
#endif
|
||
|
|
||
|
#ifdef __KERNEL__
|
||
|
|
||
|
#ifdef CONFIG_64BIT
|
||
|
#define BITS_PER_LONG 64
|
||
|
#else
|
||
|
#define BITS_PER_LONG 32
|
||
|
#endif /* CONFIG_64BIT */
|
||
|
|
||
|
/*
|
||
|
* FIXME: The check currently breaks x86-64 build, so it's
|
||
|
* temporarily disabled. Please fix x86-64 and reenable
|
||
|
*/
|
||
|
#if 0 && BITS_PER_LONG != __BITS_PER_LONG
|
||
|
#error Inconsistent word size. Check asm/bitsperlong.h
|
||
|
#endif
|
||
|
|
||
|
#endif /* __KERNEL__ */
|
||
|
#endif /* __ASM_GENERIC_BITS_PER_LONG */
|