9d291e787b
This patch makes pgtable.h and page.h safe to include in assembly files like head.S. Allowing us to use symbolic constants instead of hard coded numbers when refering to the page tables. This patch copies asm-sparc64/const.h to asm-x86_64 to get a definition of _AC() a very convinient macro that allows us to force the type when we are compiling the code in C and to drop all of the type information when we are using the constant in assembly. Previously this was done with multiple definition of the same constant. const.h was modified slightly so that it works when given CONFIG options as arguments. This patch adds #ifndef __ASSEMBLY__ ... #endif and _AC(1,UL) where appropriate so the assembler won't choke on the header files. Otherwise nothing should have changed. AK: added const.h to exported headers to fix headers_check Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
20 lines
457 B
C
20 lines
457 B
C
/* const.h: Macros for dealing with constants. */
|
|
|
|
#ifndef _X86_64_CONST_H
|
|
#define _X86_64_CONST_H
|
|
|
|
/* Some constant macros are used in both assembler and
|
|
* C code. Therefore we cannot annotate them always with
|
|
* 'UL' and other type specificers unilaterally. We
|
|
* use the following macros to deal with this.
|
|
*/
|
|
|
|
#ifdef __ASSEMBLY__
|
|
#define _AC(X,Y) X
|
|
#else
|
|
#define __AC(X,Y) (X##Y)
|
|
#define _AC(X,Y) __AC(X,Y)
|
|
#endif
|
|
|
|
|
|
#endif /* !(_X86_64_CONST_H) */
|