Function report |
Source Code:arch\x86\kernel\unwind_orc.c |
Create Date:2022-07-28 08:51:05 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:unwind_next_frame
Proto:bool unwind_next_frame(struct unwind_state *state)
Type:bool
Parameter:
Type | Parameter | Name |
---|---|---|
struct unwind_state * | state |
386 | bool indirect = false |
388 | If unwind_done(state) Then Return false |
395 | If regs && ser_mode(regs) determines whether a register set came from user* mode Then Go to the_end |
405 | If Not orc Then |
413 | error = true |
421 | Go to the_end |
426 | Case sp_reg == ORC_REG_SP |
430 | Case sp_reg == ORC_REG_BP |
434 | Case sp_reg == ORC_REG_SP_INDIRECT |
439 | Case sp_reg == ORC_REG_BP_INDIRECT |
444 | Case sp_reg == ORC_REG_R10 |
451 | Break |
453 | Case sp_reg == ORC_REG_R13 |
460 | Break |
462 | Case sp_reg == ORC_REG_DI |
469 | Break |
471 | Case sp_reg == ORC_REG_DX |
478 | Break |
480 | Default |
486 | If indirect Then |
487 | If Not deref_stack_reg(state, sp, & sp) Then Go to err |
496 | If Not deref_stack_reg(state, ip_p, & ip) Then Go to err |
503 | regs = NULL |
504 | signal = false |
505 | Break |
507 | Case type == ORC_TYPE_REGS |
508 | If Not deref_stack_regs(state, sp, & ip, & sp) Then |
511 | Go to err |
515 | full_regs = true |
516 | signal = true |
517 | Break |
519 | Case type == ORC_TYPE_REGS_IRET |
520 | If Not deref_stack_iret_regs(state, sp, & ip, & sp) Then |
523 | Go to err |
526 | regs = sp - IRET_FRAME_OFFSET |
527 | full_regs = false |
528 | signal = true |
529 | Break |
531 | Default |
534 | Break |
544 | Case bp_reg == ORC_REG_PREV_SP |
549 | Case bp_reg == ORC_REG_BP |
554 | Default |
569 | preempt_enable() |
570 | Return true |
572 | err : |
573 | error = true |
575 | the_end : |
576 | preempt_enable() |
577 | type = STACK_TYPE_UNKNOWN |
578 | Return false |
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 |