Lines Matching full:regs

29 int __isa_exception_epc(struct pt_regs *regs)  in __isa_exception_epc()  argument
32 long epc = regs->cp0_epc; in __isa_exception_epc()
59 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()
166 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
170 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
181 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
185 *contpc = regs->regs[insn.mm_i_format.rs]; in __mm_isBranchInstr()
190 if ((long)regs->regs[reg16to32map[insn.mm_b1_format.rs]] == 0) in __mm_isBranchInstr()
191 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
195 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
199 if ((long)regs->regs[reg16to32map[insn.mm_b1_format.rs]] != 0) in __mm_isBranchInstr()
200 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
204 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
208 *contpc = regs->cp0_epc + dec_insn.pc_inc + in __mm_isBranchInstr()
212 if (regs->regs[insn.mm_i_format.rs] == in __mm_isBranchInstr()
213 regs->regs[insn.mm_i_format.rt]) in __mm_isBranchInstr()
214 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
218 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
223 if (regs->regs[insn.mm_i_format.rs] != in __mm_isBranchInstr()
224 regs->regs[insn.mm_i_format.rt]) in __mm_isBranchInstr()
225 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
229 *contpc = regs->cp0_epc + in __mm_isBranchInstr()
233 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
235 *contpc = regs->cp0_epc + dec_insn.pc_inc; in __mm_isBranchInstr()
242 regs->regs[31] = regs->cp0_epc + in __mm_isBranchInstr()
246 *contpc = regs->cp0_epc + dec_insn.pc_inc; in __mm_isBranchInstr()
262 int __microMIPS_compute_return_epc(struct pt_regs *regs) in __microMIPS_compute_return_epc() argument
273 pc16 = (unsigned short __user *)msk_isa16_mode(regs->cp0_epc); in __microMIPS_compute_return_epc()
276 contpc = regs->cp0_epc + 2; in __microMIPS_compute_return_epc()
283 contpc = regs->cp0_epc + 4; in __microMIPS_compute_return_epc()
303 mm_isBranchInstr(regs, mminsn, &contpc); in __microMIPS_compute_return_epc()
305 regs->cp0_epc = contpc; in __microMIPS_compute_return_epc()
320 int __MIPS16e_compute_return_epc(struct pt_regs *regs) in __MIPS16e_compute_return_epc() argument
328 epc = regs->cp0_epc; in __MIPS16e_compute_return_epc()
339 regs->cp0_epc += 4; in __MIPS16e_compute_return_epc()
352 regs->regs[31] = epc + 6; in __MIPS16e_compute_return_epc()
367 regs->cp0_epc = epc; in __MIPS16e_compute_return_epc()
377 regs->cp0_epc = regs->regs[31]; in __MIPS16e_compute_return_epc()
379 regs->cp0_epc = in __MIPS16e_compute_return_epc()
380 regs->regs[reg16to32[inst.rr.rx]]; in __MIPS16e_compute_return_epc()
384 regs->regs[31] = epc + 2; in __MIPS16e_compute_return_epc()
386 regs->regs[31] = epc + 4; in __MIPS16e_compute_return_epc()
397 regs->cp0_epc += 2; in __MIPS16e_compute_return_epc()
406 * @regs: Pointer to pt_regs
422 int __compute_return_epc_for_insn(struct pt_regs *regs, in __compute_return_epc_for_insn() argument
425 long epc = regs->cp0_epc; in __compute_return_epc_for_insn()
436 regs->regs[insn.r_format.rd] = epc + 8; in __compute_return_epc_for_insn()
441 regs->cp0_epc = regs->regs[insn.r_format.rs]; in __compute_return_epc_for_insn()
458 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
464 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
472 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
478 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
486 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
499 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
504 if ((long)regs->regs[insn.i_format.rs] < 0) { in __compute_return_epc_for_insn()
510 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
518 regs->regs[31] = epc + 8; in __compute_return_epc_for_insn()
531 regs->cp0_epc += 4 + in __compute_return_epc_for_insn()
536 if ((long)regs->regs[insn.i_format.rs] >= 0) { in __compute_return_epc_for_insn()
542 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
555 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
565 regs->regs[31] = regs->cp0_epc + 8; in __compute_return_epc_for_insn()
572 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
574 set_isa16_mode(regs->cp0_epc); in __compute_return_epc_for_insn()
585 if (regs->regs[insn.i_format.rs] == in __compute_return_epc_for_insn()
586 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
592 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
600 if (regs->regs[insn.i_format.rs] != in __compute_return_epc_for_insn()
601 regs->regs[insn.i_format.rt]) { in __compute_return_epc_for_insn()
607 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
632 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
633 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
637 if ((long)regs->regs[insn.i_format.rs] <= 0) { in __compute_return_epc_for_insn()
643 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
668 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
669 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
674 if ((long)regs->regs[insn.i_format.rs] > 0) { in __compute_return_epc_for_insn()
680 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
705 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
730 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
742 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
752 if ((regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
757 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
760 if ((regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
765 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
768 if (regs->regs[insn.i_format.rs] & (1ull<<insn.i_format.rt)) in __compute_return_epc_for_insn()
772 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
775 if (regs->regs[insn.i_format.rs] & in __compute_return_epc_for_insn()
780 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
787 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
793 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
795 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
801 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
809 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
811 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
824 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
825 regs->cp0_epc += 8; in __compute_return_epc_for_insn()
849 int __compute_return_epc(struct pt_regs *regs) in __compute_return_epc() argument
855 epc = regs->cp0_epc; in __compute_return_epc()
868 return __compute_return_epc_for_insn(regs, insn); in __compute_return_epc()