Blame view

include/linux/const.h 596 Bytes
9d291e787   Vivek Goyal   [PATCH] x86-64: A...
1
  /* const.h: Macros for dealing with constants.  */
6df95fd7a   Randy Dunlap   consolidate asm/c...
2
3
  #ifndef _LINUX_CONST_H
  #define _LINUX_CONST_H
9d291e787   Vivek Goyal   [PATCH] x86-64: A...
4
5
6
  
  /* Some constant macros are used in both assembler and
   * C code.  Therefore we cannot annotate them always with
6df95fd7a   Randy Dunlap   consolidate asm/c...
7
   * 'UL' and other type specifiers unilaterally.  We
9d291e787   Vivek Goyal   [PATCH] x86-64: A...
8
   * use the following macros to deal with this.
74ef649fe   Jeremy Fitzhardinge   x86: add _AT() ma...
9
10
11
   *
   * Similarly, _AT() will cast an expression with a type in C, but
   * leave it unchanged in asm.
9d291e787   Vivek Goyal   [PATCH] x86-64: A...
12
13
14
15
   */
  
  #ifdef __ASSEMBLY__
  #define _AC(X,Y)	X
74ef649fe   Jeremy Fitzhardinge   x86: add _AT() ma...
16
  #define _AT(T,X)	X
9d291e787   Vivek Goyal   [PATCH] x86-64: A...
17
18
19
  #else
  #define __AC(X,Y)	(X##Y)
  #define _AC(X,Y)	__AC(X,Y)
74ef649fe   Jeremy Fitzhardinge   x86: add _AT() ma...
20
  #define _AT(T,X)	((T)(X))
9d291e787   Vivek Goyal   [PATCH] x86-64: A...
21
  #endif
6df95fd7a   Randy Dunlap   consolidate asm/c...
22
  #endif /* !(_LINUX_CONST_H) */