Lines Matching refs:frame

23 kinst_regoff(struct trapframe *frame, int n)  in kinst_regoff()  argument
53 kinst_c_regoff(struct trapframe *frame, int n) in kinst_c_regoff() argument
68 kinst_emulate(struct trapframe *frame, const struct kinst_probe *kp) in kinst_emulate() argument
80 #define rs1 ((register_t *)frame)[kinst_regoff(frame, rs1_index)] in kinst_emulate()
81 #define rs2 ((register_t *)frame)[kinst_regoff(frame, rs2_index)] in kinst_emulate()
82 #define rd ((register_t *)frame)[kinst_regoff(frame, rd_index)] in kinst_emulate()
95 rd = frame->tf_sepc + INSN_SIZE; in kinst_emulate()
96 frame->tf_sepc += imm; in kinst_emulate()
99 prevpc = frame->tf_sepc; in kinst_emulate()
103 frame->tf_sepc = (rs1_lval + imm) & ~1; in kinst_emulate()
119 frame->tf_sepc += imm; in kinst_emulate()
121 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
125 frame->tf_sepc += imm; in kinst_emulate()
127 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
131 frame->tf_sepc += imm; in kinst_emulate()
133 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
137 frame->tf_sepc += imm; in kinst_emulate()
139 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
143 frame->tf_sepc += imm; in kinst_emulate()
145 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
149 frame->tf_sepc += imm; in kinst_emulate()
151 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
157 rd = frame->tf_sepc + in kinst_emulate()
160 frame->tf_sepc += INSN_SIZE; in kinst_emulate()
174 ((register_t *)frame)[kinst_c_regoff(frame, (instr >> 7) & 0x07)] in kinst_emulate()
191 frame->tf_sepc += imm; in kinst_emulate()
204 frame->tf_sepc += imm; in kinst_emulate()
206 frame->tf_sepc += imm; in kinst_emulate()
208 frame->tf_sepc += INSN_C_SIZE; in kinst_emulate()
214 #define rs1 ((register_t *)frame)[kinst_regoff(frame, rs1_index)] in kinst_emulate()
219 prevpc = frame->tf_sepc; in kinst_emulate()
220 frame->tf_sepc = rs1; in kinst_emulate()
222 frame->tf_ra = prevpc + INSN_C_SIZE; in kinst_emulate()
234 kinst_jump_next_instr(struct trapframe *frame, const struct kinst_probe *kp) in kinst_jump_next_instr() argument
236 frame->tf_sepc = (register_t)((const uint8_t *)kp->kp_patchpoint + in kinst_jump_next_instr()
293 kinst_invop(uintptr_t addr, struct trapframe *frame, uintptr_t scratch) in kinst_invop() argument
312 frame->tf_sstatus |= SSTATUS_SPIE; in kinst_invop()
314 return (kinst_jump_next_instr(frame, ks->kp)); in kinst_invop()
330 return (kinst_emulate(frame, kp)); in kinst_invop()
339 ks->status = frame->tf_sstatus; in kinst_invop()
340 frame->tf_sstatus &= ~SSTATUS_SPIE; in kinst_invop()
341 frame->tf_sepc = (register_t)kp->kp_tramp; in kinst_invop()