Lines Matching refs:inst

574 	unsigned short inst = 0;  in is_dsp_inst()  local
583 get_user(inst, ((unsigned short *) regs->pc)); in is_dsp_inst()
585 inst &= 0xf000; in is_dsp_inst()
588 if ((inst == 0xf000) || (inst == 0x4000)) in is_dsp_inst()
623 unsigned short inst = 0; in do_reserved_inst() local
626 get_user(inst, (unsigned short __user *)regs->pc); in do_reserved_inst()
628 err = do_fpu_inst(inst, regs); in do_reserved_inst()
630 regs->pc += instruction_size(inst); in do_reserved_inst()
655 static int emulate_branch(unsigned short inst, struct pt_regs *regs) in emulate_branch() argument
668 if (((inst & 0xf000) == 0xb000) || /* bsr */ in emulate_branch()
669 ((inst & 0xf0ff) == 0x0003) || /* bsrf */ in emulate_branch()
670 ((inst & 0xf0ff) == 0x400b)) /* jsr */ in emulate_branch()
673 if ((inst & 0xfd00) == 0x8d00) { /* bfs, bts */ in emulate_branch()
674 regs->pc += SH_PC_8BIT_OFFSET(inst); in emulate_branch()
678 if ((inst & 0xe000) == 0xa000) { /* bra, bsr */ in emulate_branch()
679 regs->pc += SH_PC_12BIT_OFFSET(inst); in emulate_branch()
683 if ((inst & 0xf0df) == 0x0003) { /* braf, bsrf */ in emulate_branch()
684 regs->pc += regs->regs[(inst & 0x0f00) >> 8] + 4; in emulate_branch()
688 if ((inst & 0xf0df) == 0x400b) { /* jmp, jsr */ in emulate_branch()
689 regs->pc = regs->regs[(inst & 0x0f00) >> 8]; in emulate_branch()
693 if ((inst & 0xffff) == 0x000b) { /* rts */ in emulate_branch()
705 unsigned long inst; in do_illegal_slot_inst() local
711 get_user(inst, (unsigned short __user *)regs->pc + 1); in do_illegal_slot_inst()
712 if (!do_fpu_inst(inst, regs)) { in do_illegal_slot_inst()
713 get_user(inst, (unsigned short __user *)regs->pc); in do_illegal_slot_inst()
714 if (!emulate_branch(inst, regs)) in do_illegal_slot_inst()
721 inst = lookup_exception_vector(); in do_illegal_slot_inst()
725 die_if_no_fixup("illegal slot instruction", regs, inst); in do_illegal_slot_inst()