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
79 regs->regs[insn.mm_i_format.rt] = in __mm_isBranchInstr()
80 regs->cp0_epc + in __mm_isBranchInstr()
83 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr()
92 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
97 if ((long)regs->regs[insn.mm_i_format.rs] < 0) in __mm_isBranchInstr()
98 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
102 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
108 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
113 if ((long)regs->regs[insn.mm_i_format.rs] >= 0) in __mm_isBranchInstr()
114 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
118 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
123 if ((long)regs->regs[insn.mm_i_format.rs] <= 0) in __mm_isBranchInstr()
124 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
128 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
133 if ((long)regs->regs[insn.mm_i_format.rs] <= 0) in __mm_isBranchInstr()
134 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
138 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
162 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
166 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
175 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
179 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr()
184 if ((long)regs->regs[reg16to32map[insn.mm_b1_format.rs]] == 0) in __mm_isBranchInstr()
185 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
189 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
193 if ((long)regs->regs[reg16to32map[insn.mm_b1_format.rs]] != 0) in __mm_isBranchInstr()
194 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
198 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
202 *contpc = regs->cp0_epc + dec_insn.pc_inc + in __mm_isBranchInstr()
206 if (regs->regs[insn.mm_i_format.rs] == in __mm_isBranchInstr()
207 regs->regs[insn.mm_i_format.rt]) in __mm_isBranchInstr()
208 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
212 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
217 if (regs->regs[insn.mm_i_format.rs] != in __mm_isBranchInstr()
218 regs->regs[insn.mm_i_format.rt]) in __mm_isBranchInstr()
219 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
223 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
227 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
229 *contpc = regs->cp0_epc + dec_insn.pc_inc; in __mm_isBranchInstr()
236 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
240 *contpc = regs->cp0_epc + dec_insn.pc_inc; in __mm_isBranchInstr()
256 int __microMIPS_compute_return_epc(struct pt_regs *regs) in __microMIPS_compute_return_epc() argument
267 pc16 = (unsigned short __user *)msk_isa16_mode(regs->cp0_epc); in __microMIPS_compute_return_epc()
270 contpc = regs->cp0_epc + 2; in __microMIPS_compute_return_epc()
277 contpc = regs->cp0_epc + 4; in __microMIPS_compute_return_epc()
297 mm_isBranchInstr(regs, mminsn, &contpc); in __microMIPS_compute_return_epc()
299 regs->cp0_epc = contpc; in __microMIPS_compute_return_epc()
314 int __MIPS16e_compute_return_epc(struct pt_regs *regs) in __MIPS16e_compute_return_epc() argument
322 epc = regs->cp0_epc; in __MIPS16e_compute_return_epc()
333 regs->cp0_epc += 4; in __MIPS16e_compute_return_epc()
346 regs->regs[31] = epc + 6; in __MIPS16e_compute_return_epc()
361 regs->cp0_epc = epc; in __MIPS16e_compute_return_epc()
371 regs->cp0_epc = regs->regs[31]; in __MIPS16e_compute_return_epc()
373 regs->cp0_epc = in __MIPS16e_compute_return_epc()
374 regs->regs[reg16to32[inst.rr.rx]]; in __MIPS16e_compute_return_epc()
378 regs->regs[31] = epc + 2; in __MIPS16e_compute_return_epc()
380 regs->regs[31] = epc + 4; in __MIPS16e_compute_return_epc()
391 regs->cp0_epc += 2; in __MIPS16e_compute_return_epc()
416 int __compute_return_epc_for_insn(struct pt_regs *regs, in __compute_return_epc_for_insn() argument
420 long epc = regs->cp0_epc; in __compute_return_epc_for_insn()
430 regs->regs[insn.r_format.rd] = epc + 8; in __compute_return_epc_for_insn()
435 regs->cp0_epc = regs->regs[insn.r_format.rs]; in __compute_return_epc_for_insn()
451 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
457 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
464 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
470 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
478 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
491 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
496 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
502 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
510 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
523 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
528 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
534 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
547 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
557 regs->regs[31] = regs->cp0_epc + 8; in __compute_return_epc_for_insn()
563 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
565 set_isa16_mode(regs->cp0_epc); in __compute_return_epc_for_insn()
575 if (regs->regs[insn.i_format.rs] == in __compute_return_epc_for_insn()
576 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
582 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
589 if (regs->regs[insn.i_format.rs] != in __compute_return_epc_for_insn()
590 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
596 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
620 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
621 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
625 if ((long)regs->regs[insn.i_format.rs] <= 0) { in __compute_return_epc_for_insn()
631 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
655 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
656 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
661 if ((long)regs->regs[insn.i_format.rs] > 0) { in __compute_return_epc_for_insn()
667 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
697 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
722 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
734 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
741 if ((regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
746 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
749 if ((regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
754 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
757 if (regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
761 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
764 if (regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
769 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
776 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
782 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
784 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
790 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
798 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
800 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
813 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
814 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
838 int __compute_return_epc(struct pt_regs *regs) in __compute_return_epc() argument
844 epc = regs->cp0_epc; in __compute_return_epc()
857 return __compute_return_epc_for_insn(regs, insn); in __compute_return_epc()