File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/unwind.h.tar
Back
usr/src/linux-headers-5.15.0-133/arch/parisc/include/asm/unwind.h 0000644 00000005243 15030103455 0020022 0 ustar 00 /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _UNWIND_H_ #define _UNWIND_H_ #include <linux/list.h> /* Max number of levels to backtrace */ #define MAX_UNWIND_ENTRIES 30 /* From ABI specifications */ struct unwind_table_entry { unsigned int region_start; unsigned int region_end; unsigned int Cannot_unwind:1; /* 0 */ unsigned int Millicode:1; /* 1 */ unsigned int Millicode_save_sr0:1; /* 2 */ unsigned int Region_description:2; /* 3..4 */ unsigned int reserved1:1; /* 5 */ unsigned int Entry_SR:1; /* 6 */ unsigned int Entry_FR:4; /* number saved *//* 7..10 */ unsigned int Entry_GR:5; /* number saved *//* 11..15 */ unsigned int Args_stored:1; /* 16 */ unsigned int Variable_Frame:1; /* 17 */ unsigned int Separate_Package_Body:1; /* 18 */ unsigned int Frame_Extension_Millicode:1; /* 19 */ unsigned int Stack_Overflow_Check:1; /* 20 */ unsigned int Two_Instruction_SP_Increment:1; /* 21 */ unsigned int Ada_Region:1; /* 22 */ unsigned int cxx_info:1; /* 23 */ unsigned int cxx_try_catch:1; /* 24 */ unsigned int sched_entry_seq:1; /* 25 */ unsigned int reserved2:1; /* 26 */ unsigned int Save_SP:1; /* 27 */ unsigned int Save_RP:1; /* 28 */ unsigned int Save_MRP_in_frame:1; /* 29 */ unsigned int extn_ptr_defined:1; /* 30 */ unsigned int Cleanup_defined:1; /* 31 */ unsigned int MPE_XL_interrupt_marker:1; /* 0 */ unsigned int HP_UX_interrupt_marker:1; /* 1 */ unsigned int Large_frame:1; /* 2 */ unsigned int Pseudo_SP_Set:1; /* 3 */ unsigned int reserved4:1; /* 4 */ unsigned int Total_frame_size:27; /* 5..31 */ }; struct unwind_table { struct list_head list; const char *name; unsigned long gp; unsigned long base_addr; unsigned long start; unsigned long end; const struct unwind_table_entry *table; unsigned long length; }; struct unwind_frame_info { struct task_struct *t; /* Eventually we would like to be able to get at any of the registers available; but for now we only try to get the sp and ip for each frame */ /* struct pt_regs regs; */ unsigned long sp, ip, rp, r31; unsigned long prev_sp, prev_ip; }; struct unwind_table * unwind_table_add(const char *name, unsigned long base_addr, unsigned long gp, void *start, void *end); void unwind_table_remove(struct unwind_table *table); void unwind_frame_init(struct unwind_frame_info *info, struct task_struct *t, struct pt_regs *regs); void unwind_frame_init_from_blocked_task(struct unwind_frame_info *info, struct task_struct *t); void unwind_frame_init_task(struct unwind_frame_info *info, struct task_struct *task, struct pt_regs *regs); int unwind_once(struct unwind_frame_info *info); int unwind_to_user(struct unwind_frame_info *info); int unwind_init(void); #endif usr/src/linux-headers-5.15.0-133/arch/arc/include/asm/unwind.h 0000644 00000006566 15030146631 0017322 0 ustar 00 /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) */ #ifndef _ASM_ARC_UNWIND_H #define _ASM_ARC_UNWIND_H #ifdef CONFIG_ARC_DW2_UNWIND #include <linux/sched.h> struct arc700_regs { unsigned long r0; unsigned long r1; unsigned long r2; unsigned long r3; unsigned long r4; unsigned long r5; unsigned long r6; unsigned long r7; unsigned long r8; unsigned long r9; unsigned long r10; unsigned long r11; unsigned long r12; unsigned long r13; unsigned long r14; unsigned long r15; unsigned long r16; unsigned long r17; unsigned long r18; unsigned long r19; unsigned long r20; unsigned long r21; unsigned long r22; unsigned long r23; unsigned long r24; unsigned long r25; unsigned long r26; unsigned long r27; /* fp */ unsigned long r28; /* sp */ unsigned long r29; unsigned long r30; unsigned long r31; /* blink */ unsigned long r63; /* pc */ }; struct unwind_frame_info { struct arc700_regs regs; struct task_struct *task; unsigned call_frame:1; }; #define UNW_PC(frame) ((frame)->regs.r63) #define UNW_SP(frame) ((frame)->regs.r28) #define UNW_BLINK(frame) ((frame)->regs.r31) /* Rajesh FIXME */ #ifdef CONFIG_FRAME_POINTER #define UNW_FP(frame) ((frame)->regs.r27) #define FRAME_RETADDR_OFFSET 4 #define FRAME_LINK_OFFSET 0 #define STACK_BOTTOM_UNW(tsk) STACK_LIMIT((tsk)->thread.ksp) #define STACK_TOP_UNW(tsk) ((tsk)->thread.ksp) #else #define UNW_FP(frame) ((void)(frame), 0) #endif #define STACK_LIMIT(ptr) (((ptr) - 1) & ~(THREAD_SIZE - 1)) #define UNW_REGISTER_INFO \ PTREGS_INFO(r0), \ PTREGS_INFO(r1), \ PTREGS_INFO(r2), \ PTREGS_INFO(r3), \ PTREGS_INFO(r4), \ PTREGS_INFO(r5), \ PTREGS_INFO(r6), \ PTREGS_INFO(r7), \ PTREGS_INFO(r8), \ PTREGS_INFO(r9), \ PTREGS_INFO(r10), \ PTREGS_INFO(r11), \ PTREGS_INFO(r12), \ PTREGS_INFO(r13), \ PTREGS_INFO(r14), \ PTREGS_INFO(r15), \ PTREGS_INFO(r16), \ PTREGS_INFO(r17), \ PTREGS_INFO(r18), \ PTREGS_INFO(r19), \ PTREGS_INFO(r20), \ PTREGS_INFO(r21), \ PTREGS_INFO(r22), \ PTREGS_INFO(r23), \ PTREGS_INFO(r24), \ PTREGS_INFO(r25), \ PTREGS_INFO(r26), \ PTREGS_INFO(r27), \ PTREGS_INFO(r28), \ PTREGS_INFO(r29), \ PTREGS_INFO(r30), \ PTREGS_INFO(r31), \ PTREGS_INFO(r63) #define UNW_DEFAULT_RA(raItem, dataAlign) \ ((raItem).where == Memory && !((raItem).value * (dataAlign) + 4)) extern int arc_unwind(struct unwind_frame_info *frame); extern void arc_unwind_init(void); extern void *unwind_add_table(struct module *module, const void *table_start, unsigned long table_size); extern void unwind_remove_table(void *handle, int init_only); static inline int arch_unwind_init_running(struct unwind_frame_info *info, int (*callback) (struct unwind_frame_info *info, void *arg), void *arg) { return 0; } static inline int arch_unw_user_mode(const struct unwind_frame_info *info) { return 0; } static inline void arch_unw_init_blocked(struct unwind_frame_info *info) { return; } static inline void arch_unw_init_frame_info(struct unwind_frame_info *info, struct pt_regs *regs) { return; } #else #define UNW_PC(frame) ((void)(frame), 0) #define UNW_SP(frame) ((void)(frame), 0) #define UNW_FP(frame) ((void)(frame), 0) static inline void arc_unwind_init(void) { } #define unwind_add_table(a, b, c) #define unwind_remove_table(a, b) #endif /* CONFIG_ARC_DW2_UNWIND */ #endif /* _ASM_ARC_UNWIND_H */
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings