linkage.h 748 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef _LINUX_LINKAGE_H
  2. #define _LINUX_LINKAGE_H
  3. #include <linux/config.h>
  4. #include <asm/linkage.h>
  5. #ifdef __cplusplus
  6. #define CPP_ASMLINKAGE extern "C"
  7. #else
  8. #define CPP_ASMLINKAGE
  9. #endif
  10. #ifndef asmlinkage
  11. #define asmlinkage CPP_ASMLINKAGE
  12. #endif
  13. #ifndef prevent_tail_call
  14. # define prevent_tail_call(ret) do { } while (0)
  15. #endif
  16. #ifndef __ALIGN
  17. #define __ALIGN .align 4,0x90
  18. #define __ALIGN_STR ".align 4,0x90"
  19. #endif
  20. #ifdef __ASSEMBLY__
  21. #define ALIGN __ALIGN
  22. #define ALIGN_STR __ALIGN_STR
  23. #define ENTRY(name) \
  24. .globl name; \
  25. ALIGN; \
  26. name:
  27. #endif
  28. #define NORET_TYPE /**/
  29. #define ATTRIB_NORET __attribute__((noreturn))
  30. #define NORET_AND noreturn,
  31. #ifndef FASTCALL
  32. #define FASTCALL(x) x
  33. #define fastcall
  34. #endif
  35. #endif