unwind_hints.h 791 B

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASM_LOONGARCH_UNWIND_HINTS_H
  3. #define _ASM_LOONGARCH_UNWIND_HINTS_H
  4. #include <linux/objtool.h>
  5. #include <asm/orc_types.h>
  6. #ifdef __ASSEMBLER__
  7. .macro UNWIND_HINT_UNDEFINED
  8. UNWIND_HINT type=UNWIND_HINT_TYPE_UNDEFINED
  9. .endm
  10. .macro UNWIND_HINT_END_OF_STACK
  11. UNWIND_HINT type=UNWIND_HINT_TYPE_END_OF_STACK
  12. .endm
  13. .macro UNWIND_HINT_REGS
  14. UNWIND_HINT sp_reg=ORC_REG_SP type=UNWIND_HINT_TYPE_REGS
  15. .endm
  16. .macro UNWIND_HINT_FUNC
  17. UNWIND_HINT sp_reg=ORC_REG_SP type=UNWIND_HINT_TYPE_CALL
  18. .endm
  19. #else /* !__ASSEMBLER__ */
  20. #define UNWIND_HINT_SAVE \
  21. UNWIND_HINT(UNWIND_HINT_TYPE_SAVE, 0, 0, 0)
  22. #define UNWIND_HINT_RESTORE \
  23. UNWIND_HINT(UNWIND_HINT_TYPE_RESTORE, 0, 0, 0)
  24. #endif /* !__ASSEMBLER__ */
  25. #endif /* _ASM_LOONGARCH_UNWIND_HINTS_H */