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()
480 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
493 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
498 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
504 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
514 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
527 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
532 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
538 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
551 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
560 regs->regs[31] = regs->cp0_epc + 8; in __compute_return_epc_for_insn()
566 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
568 set_isa16_mode(regs->cp0_epc); in __compute_return_epc_for_insn()
578 if (regs->regs[insn.i_format.rs] == in __compute_return_epc_for_insn()
579 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
585 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
592 if (regs->regs[insn.i_format.rs] != in __compute_return_epc_for_insn()
593 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
599 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
623 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
624 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
628 if ((long)regs->regs[insn.i_format.rs] <= 0) { in __compute_return_epc_for_insn()
634 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
658 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
659 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
664 if ((long)regs->regs[insn.i_format.rs] > 0) { in __compute_return_epc_for_insn()
670 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
712 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
737 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
749 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
756 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()
772 if (regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
776 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
779 if (regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
784 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
793 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
801 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
803 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
811 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
820 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
821 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
836 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
837 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
855 int __compute_return_epc(struct pt_regs *regs) in __compute_return_epc() argument
861 epc = regs->cp0_epc; in __compute_return_epc()
874 return __compute_return_epc_for_insn(regs, insn); in __compute_return_epc()