Lines Matching full:epc
32 long epc = regs->cp0_epc; in __isa_exception_epc() local
35 if (__get_user(inst, (u16 __user *) msk_isa16_mode(epc))) { in __isa_exception_epc()
38 return epc; in __isa_exception_epc()
45 epc += 4; in __isa_exception_epc()
47 epc += 2; in __isa_exception_epc()
49 epc += 2; in __isa_exception_epc()
51 epc += 4; in __isa_exception_epc()
53 return epc; in __isa_exception_epc()
326 long epc; in __MIPS16e_compute_return_epc() local
328 epc = regs->cp0_epc; in __MIPS16e_compute_return_epc()
331 addr = (u16 __user *)msk_isa16_mode(epc); in __MIPS16e_compute_return_epc()
352 regs->regs[31] = epc + 6; in __MIPS16e_compute_return_epc()
353 epc += 4; in __MIPS16e_compute_return_epc()
354 epc >>= 28; in __MIPS16e_compute_return_epc()
355 epc <<= 28; in __MIPS16e_compute_return_epc()
362 epc |= in __MIPS16e_compute_return_epc()
366 set_isa16_mode(epc); /* Set ISA mode bit. */ in __MIPS16e_compute_return_epc()
367 regs->cp0_epc = epc; 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()
419 * In that case the branch was not taken, so the EPC can be safely
420 * set to EPC + 8.
425 long epc = regs->cp0_epc; in __compute_return_epc_for_insn() local
436 regs->regs[insn.r_format.rd] = epc + 8; in __compute_return_epc_for_insn()
459 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
463 epc += 8; in __compute_return_epc_for_insn()
464 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
473 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
477 epc += 8; 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()
505 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
509 epc += 8; 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()
537 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
541 epc += 8; in __compute_return_epc_for_insn()
542 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
552 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
554 epc += 8; in __compute_return_epc_for_insn()
555 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
568 epc += 4; in __compute_return_epc_for_insn()
569 epc >>= 28; in __compute_return_epc_for_insn()
570 epc <<= 28; in __compute_return_epc_for_insn()
571 epc |= (insn.j_format.target << 2); in __compute_return_epc_for_insn()
572 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
587 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
591 epc += 8; in __compute_return_epc_for_insn()
592 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
602 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
606 epc += 8; 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()
638 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
642 epc += 8; 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()
675 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
679 epc += 8; in __compute_return_epc_for_insn()
680 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
701 epc = epc + 4 + in __compute_return_epc_for_insn()
704 epc += 8; in __compute_return_epc_for_insn()
705 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
724 epc = epc + 4 + in __compute_return_epc_for_insn()
729 epc += 8; in __compute_return_epc_for_insn()
730 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
736 epc = epc + 4 + in __compute_return_epc_for_insn()
741 epc += 8; in __compute_return_epc_for_insn()
742 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
754 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
756 epc += 8; in __compute_return_epc_for_insn()
757 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
762 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
764 epc += 8; in __compute_return_epc_for_insn()
765 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
769 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
771 epc += 8; in __compute_return_epc_for_insn()
772 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
777 epc = epc + 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
779 epc += 8; in __compute_return_epc_for_insn()
780 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
793 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
794 epc += 4 + (insn.i_format.simmediate << 2); in __compute_return_epc_for_insn()
795 regs->cp0_epc = epc; in __compute_return_epc_for_insn()
809 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
824 regs->regs[31] = epc + 4; in __compute_return_epc_for_insn()
852 long epc; in __compute_return_epc() local
855 epc = regs->cp0_epc; in __compute_return_epc()
856 if (epc & 3) in __compute_return_epc()
862 addr = (unsigned int __user *) epc; in __compute_return_epc()
871 printk("%s: unaligned epc - sending SIGBUS.\n", current->comm); in __compute_return_epc()