Function report |
Source Code:arch\x86\kernel\unwind_orc.c |
Create Date:2022-07-28 08:51:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__unwind_start
Proto:void __unwind_start(struct unwind_state *state, struct task_struct *task, struct pt_regs *regs, unsigned long *first_frame)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct unwind_state * | state | |
struct task_struct * | task | |
struct pt_regs * | regs | |
unsigned long * | first_frame |
593 | If task_on_another_cpu(task) Then Go to done |
596 | If regs Then |
597 | If ser_mode(regs) determines whether a register set came from user* mode Then Go to done |
600 | ip = Return frame for iretq |
604 | full_regs = true |
605 | signal = true |
607 | Else if task == current process Then |
608 | asm volatile |
614 | Else |
622 | If get_stack_info((unsignedlong * )sp, task, & stack_info, & stack_mask) Then |
630 | next_page = align the pointer to the (next) page boundary ((unsignedlong)sp) |
631 | If get_stack_info(next_page, task, & stack_info, & stack_mask) Then Return |
643 | If regs Then |
644 | unwind_next_frame(state) |
645 | Return |
649 | When Not unwind_done(state) && ( Not on_stack( & stack_info, first_frame, sizeof(long)) || sp <= first_frame ) cycle |
652 | unwind_next_frame(state) |
654 | Return |
656 | done : |
657 | type = STACK_TYPE_UNKNOWN |
658 | Return |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |