Lines Matching refs:regs
27 int __isa_exception_epc(struct pt_regs *regs) in __isa_exception_epc() argument
30 long epc = regs->cp0_epc; in __isa_exception_epc()
57 int __mm_isBranchInstr(struct pt_regs *regs, struct mm_decoded_insn dec_insn, in __mm_isBranchInstr() argument
77 regs->regs[insn.mm_i_format.rt] = in __mm_isBranchInstr()
78 regs->cp0_epc + in __mm_isBranchInstr()
81 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr()
90 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
95 if ((long)regs->regs[insn.mm_i_format.rs] < 0) in __mm_isBranchInstr()
96 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
100 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
106 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
111 if ((long)regs->regs[insn.mm_i_format.rs] >= 0) in __mm_isBranchInstr()
112 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
116 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
121 if ((long)regs->regs[insn.mm_i_format.rs] <= 0) in __mm_isBranchInstr()
122 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
126 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
131 if ((long)regs->regs[insn.mm_i_format.rs] <= 0) in __mm_isBranchInstr()
132 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
136 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
164 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
168 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
179 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
183 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr()
188 if ((long)regs->regs[reg16to32map[insn.mm_b1_format.rs]] == 0) in __mm_isBranchInstr()
189 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
193 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
197 if ((long)regs->regs[reg16to32map[insn.mm_b1_format.rs]] != 0) in __mm_isBranchInstr()
198 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
202 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
206 *contpc = regs->cp0_epc + dec_insn.pc_inc + in __mm_isBranchInstr()
210 if (regs->regs[insn.mm_i_format.rs] == in __mm_isBranchInstr()
211 regs->regs[insn.mm_i_format.rt]) in __mm_isBranchInstr()
212 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
216 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
221 if (regs->regs[insn.mm_i_format.rs] != in __mm_isBranchInstr()
222 regs->regs[insn.mm_i_format.rt]) in __mm_isBranchInstr()
223 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
227 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
231 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
233 *contpc = regs->cp0_epc + dec_insn.pc_inc; in __mm_isBranchInstr()
240 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
244 *contpc = regs->cp0_epc + dec_insn.pc_inc; in __mm_isBranchInstr()
260 int __microMIPS_compute_return_epc(struct pt_regs *regs) in __microMIPS_compute_return_epc() argument
271 pc16 = (unsigned short __user *)msk_isa16_mode(regs->cp0_epc); in __microMIPS_compute_return_epc()
274 contpc = regs->cp0_epc + 2; in __microMIPS_compute_return_epc()
281 contpc = regs->cp0_epc + 4; in __microMIPS_compute_return_epc()
301 mm_isBranchInstr(regs, mminsn, &contpc); in __microMIPS_compute_return_epc()
303 regs->cp0_epc = contpc; in __microMIPS_compute_return_epc()
318 int __MIPS16e_compute_return_epc(struct pt_regs *regs) in __MIPS16e_compute_return_epc() argument
326 epc = regs->cp0_epc; in __MIPS16e_compute_return_epc()
337 regs->cp0_epc += 4; in __MIPS16e_compute_return_epc()
350 regs->regs[31] = epc + 6; in __MIPS16e_compute_return_epc()
365 regs->cp0_epc = epc; in __MIPS16e_compute_return_epc()
375 regs->cp0_epc = regs->regs[31]; in __MIPS16e_compute_return_epc()
377 regs->cp0_epc = in __MIPS16e_compute_return_epc()
378 regs->regs[reg16to32[inst.rr.rx]]; in __MIPS16e_compute_return_epc()
382 regs->regs[31] = epc + 2; in __MIPS16e_compute_return_epc()
384 regs->regs[31] = epc + 4; in __MIPS16e_compute_return_epc()
395 regs->cp0_epc += 2; in __MIPS16e_compute_return_epc()
420 int __compute_return_epc_for_insn(struct pt_regs *regs, in __compute_return_epc_for_insn() argument
423 long epc = regs->cp0_epc; in __compute_return_epc_for_insn()
434 regs->regs[insn.r_format.rd] = epc + 8; in __compute_return_epc_for_insn()
439 regs->cp0_epc = regs->regs[insn.r_format.rs]; in __compute_return_epc_for_insn()
456 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
462 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
470 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
476 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
484 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
497 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
502 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
508 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
516 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
529 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
534 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
540 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
553 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
563 regs->regs[31] = regs->cp0_epc + 8; in __compute_return_epc_for_insn()
570 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
572 set_isa16_mode(regs->cp0_epc); in __compute_return_epc_for_insn()
583 if (regs->regs[insn.i_format.rs] == in __compute_return_epc_for_insn()
584 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
590 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
598 if (regs->regs[insn.i_format.rs] != in __compute_return_epc_for_insn()
599 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
605 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
630 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
631 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
635 if ((long)regs->regs[insn.i_format.rs] <= 0) { in __compute_return_epc_for_insn()
641 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
666 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
667 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
672 if ((long)regs->regs[insn.i_format.rs] > 0) { in __compute_return_epc_for_insn()
678 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
703 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
728 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
740 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
750 if ((regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
755 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
758 if ((regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
763 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
766 if (regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
770 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
773 if (regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
778 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
785 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
791 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
793 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
799 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
807 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
809 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
822 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
823 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
847 int __compute_return_epc(struct pt_regs *regs) in __compute_return_epc() argument
853 epc = regs->cp0_epc; in __compute_return_epc()
866 return __compute_return_epc_for_insn(regs, insn); in __compute_return_epc()