1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * arch/arm/include/asm/unwind.h
5 * Copyright (C) 2008 ARM Limited
13 /* Unwind reason code according the the ARM EABI documents */
14 enum unwind_reason_code
{
15 URC_OK
= 0, /* operation completed successfully */
16 URC_CONTINUE_UNWIND
= 8,
17 URC_FAILURE
= 9 /* unspecified failure of some kind */
21 unsigned long addr_offset
;
26 struct list_head list
;
27 const struct unwind_idx
*start
;
28 const struct unwind_idx
*origin
;
29 const struct unwind_idx
*stop
;
30 unsigned long begin_addr
;
31 unsigned long end_addr
;
34 extern struct unwind_table
*unwind_table_add(unsigned long start
,
36 unsigned long text_addr
,
37 unsigned long text_size
);
38 extern void unwind_table_del(struct unwind_table
*tab
);
39 extern void unwind_backtrace(struct pt_regs
*regs
, struct task_struct
*tsk
,
42 #endif /* !__ASSEMBLY__ */
44 #ifdef CONFIG_ARM_UNWIND
45 #define UNWIND(code...) code
47 #define UNWIND(code...)
50 #endif /* __ASM_UNWIND_H */