linux/arch/x86/include/asm/asm.h
<<
>>
Prefs
   1#ifndef _ASM_X86_ASM_H
   2#define _ASM_X86_ASM_H
   3
   4#ifdef __ASSEMBLY__
   5# define __ASM_FORM(x)  x
   6# define __ASM_EX_SEC   .section __ex_table
   7#else
   8# define __ASM_FORM(x)  " " #x " "
   9# define __ASM_EX_SEC   " .section __ex_table,\"a\"\n"
  10#endif
  11
  12#ifdef CONFIG_X86_32
  13# define __ASM_SEL(a,b) __ASM_FORM(a)
  14#else
  15# define __ASM_SEL(a,b) __ASM_FORM(b)
  16#endif
  17
  18#define __ASM_SIZE(inst)        __ASM_SEL(inst##l, inst##q)
  19#define __ASM_REG(reg)          __ASM_SEL(e##reg, r##reg)
  20
  21#define _ASM_PTR        __ASM_SEL(.long, .quad)
  22#define _ASM_ALIGN      __ASM_SEL(.balign 4, .balign 8)
  23
  24#define _ASM_MOV        __ASM_SIZE(mov)
  25#define _ASM_INC        __ASM_SIZE(inc)
  26#define _ASM_DEC        __ASM_SIZE(dec)
  27#define _ASM_ADD        __ASM_SIZE(add)
  28#define _ASM_SUB        __ASM_SIZE(sub)
  29#define _ASM_XADD       __ASM_SIZE(xadd)
  30
  31#define _ASM_AX         __ASM_REG(ax)
  32#define _ASM_BX         __ASM_REG(bx)
  33#define _ASM_CX         __ASM_REG(cx)
  34#define _ASM_DX         __ASM_REG(dx)
  35#define _ASM_SP         __ASM_REG(sp)
  36#define _ASM_BP         __ASM_REG(bp)
  37#define _ASM_SI         __ASM_REG(si)
  38#define _ASM_DI         __ASM_REG(di)
  39
  40/* Exception table entry */
  41# define _ASM_EXTABLE(from,to) \
  42        __ASM_EX_SEC    \
  43        _ASM_ALIGN "\n" \
  44        _ASM_PTR #from "," #to "\n" \
  45        " .previous\n"
  46
  47#endif /* _ASM_X86_ASM_H */
  48
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.