Commit 74ef649f authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by Ingo Molnar

x86: add _AT() macro to conditionally cast

# HG changeset patch
# User Jeremy Fitzhardinge <jeremy@xensource.com>
# Date 1199317452 28800
# Node ID f7e7db3facd9406545103164f9be8f9ba1a2b549
# Parent  4d9a413a0f4c1d98dbea704f0366457b5117045d
x86: add _AT() macro to conditionally cast

Define _AT(type, value) to conditionally cast a value when compiling C
code, but not when used in assembler.
Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 345b904c
...@@ -7,13 +7,18 @@ ...@@ -7,13 +7,18 @@
* C code. Therefore we cannot annotate them always with * C code. Therefore we cannot annotate them always with
* 'UL' and other type specifiers unilaterally. We * 'UL' and other type specifiers unilaterally. We
* use the following macros to deal with this. * use the following macros to deal with this.
*
* Similarly, _AT() will cast an expression with a type in C, but
* leave it unchanged in asm.
*/ */
#ifdef __ASSEMBLY__ #ifdef __ASSEMBLY__
#define _AC(X,Y) X #define _AC(X,Y) X
#define _AT(T,X) X
#else #else
#define __AC(X,Y) (X##Y) #define __AC(X,Y) (X##Y)
#define _AC(X,Y) __AC(X,Y) #define _AC(X,Y) __AC(X,Y)
#define _AT(T,X) ((T)(X))
#endif #endif
#endif /* !(_LINUX_CONST_H) */ #endif /* !(_LINUX_CONST_H) */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment