asmmacro.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _ASM_IA64_ASMMACRO_H
  2. #define _ASM_IA64_ASMMACRO_H
  3. /*
  4.  * Copyright (C) 2000-2001 Hewlett-Packard Co
  5.  * Copyright (C) 2000-2001 David Mosberger-Tang <davidm@hpl.hp.com>
  6.  */
  7. #define ENTRY(name)
  8. .align 32;
  9. .proc name;
  10. name:
  11. #define GLOBAL_ENTRY(name)
  12. .global name;
  13. ENTRY(name)
  14. #define END(name)
  15. .endp name
  16. /*
  17.  * Helper macros to make unwind directives more readable:
  18.  */
  19. /* prologue_gr: */
  20. #define ASM_UNW_PRLG_RP 0x8
  21. #define ASM_UNW_PRLG_PFS 0x4
  22. #define ASM_UNW_PRLG_PSP 0x2
  23. #define ASM_UNW_PRLG_PR 0x1
  24. #define ASM_UNW_PRLG_GRSAVE(ninputs) (32+(ninputs))
  25. /*
  26.  * Helper macros for accessing user memory.
  27.  */
  28. .section "__ex_table", "a" // declare section & section attributes
  29. .previous
  30. #if __GNUC__ >= 3
  31. # define EX(y,x...)
  32. .xdata4 "__ex_table", @gprel(99f), @gprel(y);
  33.   [99:] x
  34. # define EXCLR(y,x...)
  35. .xdata4 "__ex_table", @gprel(99f), @gprel(y)+4;
  36.   [99:] x
  37. #else
  38. # define EX(y,x...)
  39. .xdata4 "__ex_table", @gprel(99f), @gprel(y);
  40.   99: x
  41. # define EXCLR(y,x...)
  42. .xdata4 "__ex_table", @gprel(99f), @gprel(y)+4;
  43.   99: x
  44. #endif
  45. #endif /* _ASM_IA64_ASMMACRO_H */