Lines Matching +full:2 +full:- +full:5

1 // SPDX-License-Identifier: GPL-2.0
37 regs->pc, regs->r26, regs->ps, print_tainted()); in dik_show_regs()
38 printk("pc is at %pSR\n", (void *)regs->pc); in dik_show_regs()
39 printk("ra is at %pSR\n", (void *)regs->r26); in dik_show_regs()
41 regs->r0, regs->r1, regs->r2); in dik_show_regs()
43 regs->r3, regs->r4, regs->r5); in dik_show_regs()
45 regs->r6, regs->r7, regs->r8); in dik_show_regs()
56 regs->r16, regs->r17, regs->r18); in dik_show_regs()
58 regs->r19, regs->r20, regs->r21); in dik_show_regs()
60 regs->r22, regs->r23, regs->r24); in dik_show_regs()
62 regs->r25, regs->r27, regs->r28); in dik_show_regs()
63 printk("gp = %016lx sp = %p\n", regs->gp, regs+1); in dik_show_regs()
82 for (i = -6; i < 2; i++) { in dik_show_code()
127 if (((long) stack & (THREAD_SIZE-1)) == 0) in show_stack()
145 if (regs->ps & 8) in die_if_kernel()
150 printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err); in die_if_kernel()
154 dik_show_code((unsigned int *)regs->pc); in die_if_kernel()
184 /* Software-completion summary bit is set, so try to in do_entArith()
188 si_code = alpha_fp_emul(regs->pc - 4); in do_entArith()
196 send_sig_fault_trapno(SIGFPE, si_code, (void __user *) regs->pc, 0, current); in do_entArith()
214 current_thread_info()->pcb.flags |= 1; in do_entIF()
215 __reload_thread(&current_thread_info()->pcb); in do_entIF()
221 = (const unsigned int *) regs->pc; in do_entIF()
223 (const char *)(data[1] | (long)data[2] << 32), in do_entIF()
232 = (unsigned int *) regs->pc - 1; in do_entIF()
236 regs->r0 = 0; in do_entIF()
248 regs->pc -= 4; /* make pc point to former bpt */ in do_entIF()
251 send_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)regs->pc, in do_entIF()
257 (void __user *) regs->pc, 0, current); in do_entIF()
260 case 2: /* gentrap */ in do_entIF()
261 switch ((long) regs->r16) { in do_entIF()
318 send_sig_fault_trapno(signo, code, (void __user *) regs->pc, in do_entIF()
319 regs->r16, current); in do_entIF()
325 case 5: /* illoc */ in do_entIF()
326 default: /* unexpected instruction-fault type */ in do_entIF()
330 send_sig_fault(SIGILL, ILL_ILLOPC, (void __user *)regs->pc, current); in do_entIF()
345 force_sig_fault(SIGILL, ILL_ILLOPC, (void __user *)regs->pc); in do_entDbg()
352 * fp-regs), and it needs to have them in order for simpler access.
354 * Due to the non-standard register layout (and because we don't want
355 * to handle floating-point regs), user-mode unaligned accesses are
359 * on a gp-register unaligned load/store, something is _very_ wrong
369 } unaligned[2];
381 unsigned long pc = regs->pc - 4; in do_entUna()
382 unsigned long *_regs = regs->regs; in do_entUna()
397 "2: ldq_u %2,1(%3)\n" in do_entUna()
399 " extwh %2,%3,%2\n" in do_entUna()
402 EXC(2b,3b,%2,%0) in do_entUna()
413 "2: ldq_u %2,3(%3)\n" in do_entUna()
415 " extlh %2,%3,%2\n" in do_entUna()
418 EXC(2b,3b,%2,%0) in do_entUna()
429 "2: ldq_u %2,7(%3)\n" in do_entUna()
431 " extqh %2,%3,%2\n" in do_entUna()
434 EXC(2b,3b,%2,%0) in do_entUna()
447 "1: ldq_u %2,1(%5)\n" in do_entUna()
448 "2: ldq_u %1,0(%5)\n" in do_entUna()
449 " inswh %6,%5,%4\n" in do_entUna()
450 " inswl %6,%5,%3\n" in do_entUna()
451 " mskwh %2,%5,%2\n" in do_entUna()
452 " mskwl %1,%5,%1\n" in do_entUna()
453 " or %2,%4,%2\n" in do_entUna()
455 "3: stq_u %2,1(%5)\n" in do_entUna()
456 "4: stq_u %1,0(%5)\n" in do_entUna()
457 "5:\n" in do_entUna()
458 EXC(1b,5b,%2,%0) in do_entUna()
459 EXC(2b,5b,%1,%0) in do_entUna()
460 EXC(3b,5b,$31,%0) in do_entUna()
461 EXC(4b,5b,$31,%0) in do_entUna()
471 "1: ldq_u %2,3(%5)\n" in do_entUna()
472 "2: ldq_u %1,0(%5)\n" in do_entUna()
473 " inslh %6,%5,%4\n" in do_entUna()
474 " insll %6,%5,%3\n" in do_entUna()
475 " msklh %2,%5,%2\n" in do_entUna()
476 " mskll %1,%5,%1\n" in do_entUna()
477 " or %2,%4,%2\n" in do_entUna()
479 "3: stq_u %2,3(%5)\n" in do_entUna()
480 "4: stq_u %1,0(%5)\n" in do_entUna()
481 "5:\n" in do_entUna()
482 EXC(1b,5b,%2,%0) in do_entUna()
483 EXC(2b,5b,%1,%0) in do_entUna()
484 EXC(3b,5b,$31,%0) in do_entUna()
485 EXC(4b,5b,$31,%0) in do_entUna()
495 "1: ldq_u %2,7(%5)\n" in do_entUna()
496 "2: ldq_u %1,0(%5)\n" in do_entUna()
497 " insqh %6,%5,%4\n" in do_entUna()
498 " insql %6,%5,%3\n" in do_entUna()
499 " mskqh %2,%5,%2\n" in do_entUna()
500 " mskql %1,%5,%1\n" in do_entUna()
501 " or %2,%4,%2\n" in do_entUna()
503 "3: stq_u %2,7(%5)\n" in do_entUna()
504 "4: stq_u %1,0(%5)\n" in do_entUna()
505 "5:\n" in do_entUna()
506 EXC(1b,5b,%2,%0) in do_entUna()
507 EXC(2b,5b,%1,%0) in do_entUna()
508 EXC(3b,5b,$31,%0) in do_entUna()
509 EXC(4b,5b,$31,%0) in do_entUna()
532 regs->pc = newpc; in do_entUna()
542 current->comm, task_pid_nr(current)); in do_entUna()
545 pc, una_reg(26), regs->ps); in do_entUna()
547 una_reg(0), una_reg(1), una_reg(2)); in do_entUna()
549 una_reg(3), una_reg(4), una_reg(5)); in do_entUna()
565 printk("gp = %016lx sp = %p\n", regs->gp, regs+1); in do_entUna()
579 * Convert an s-floating point value in memory format to the
581 * needs to be remapped to preserve non-finite values
582 * (infinities, not-a-numbers, denormals).
609 * Convert an s-floating point value in register format to the
615 return ((s_reg >> 62) << 30) | ((s_reg << 5) >> 34); in s_reg_to_mem()
619 * Handle user-level unaligned fault. Handling user-level unaligned
628 * particular, load-linked/store-conditionally and floating point
647 #define R(x) ((size_t) &((struct pt_regs *)0)->x)
652 -56, -48, -40, -32, -24, -16, -8,
665 static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); in do_entUnaUser()
675 if (!(current_thread_info()->status & TS_UAC_NOPRINT)) { in do_entUnaUser()
678 current->comm, task_pid_nr(current), in do_entUnaUser()
679 regs->pc - 4, va, opcode, reg); in do_entUnaUser()
682 if ((current_thread_info()->status & TS_UAC_SIGBUS)) in do_entUnaUser()
685 if ((current_thread_info()->status & TS_UAC_NOFIX)) in do_entUnaUser()
696 unaligned[1].pc = regs->pc - 4; in do_entUnaUser()
720 "2: ldq_u %2,1(%3)\n" in do_entUnaUser()
722 " extwh %2,%3,%2\n" in do_entUnaUser()
725 EXC(2b,3b,%2,%0) in do_entUnaUser()
736 "2: ldq_u %2,3(%3)\n" in do_entUnaUser()
738 " extlh %2,%3,%2\n" in do_entUnaUser()
741 EXC(2b,3b,%2,%0) in do_entUnaUser()
752 "2: ldq_u %2,7(%3)\n" in do_entUnaUser()
754 " extqh %2,%3,%2\n" in do_entUnaUser()
757 EXC(2b,3b,%2,%0) in do_entUnaUser()
768 "2: ldq_u %2,3(%3)\n" in do_entUnaUser()
770 " extlh %2,%3,%2\n" in do_entUnaUser()
773 EXC(2b,3b,%2,%0) in do_entUnaUser()
784 "2: ldq_u %2,7(%3)\n" in do_entUnaUser()
786 " extqh %2,%3,%2\n" in do_entUnaUser()
789 EXC(2b,3b,%2,%0) in do_entUnaUser()
802 "1: ldq_u %2,1(%5)\n" in do_entUnaUser()
803 "2: ldq_u %1,0(%5)\n" in do_entUnaUser()
804 " inswh %6,%5,%4\n" in do_entUnaUser()
805 " inswl %6,%5,%3\n" in do_entUnaUser()
806 " mskwh %2,%5,%2\n" in do_entUnaUser()
807 " mskwl %1,%5,%1\n" in do_entUnaUser()
808 " or %2,%4,%2\n" in do_entUnaUser()
810 "3: stq_u %2,1(%5)\n" in do_entUnaUser()
811 "4: stq_u %1,0(%5)\n" in do_entUnaUser()
812 "5:\n" in do_entUnaUser()
813 EXC(1b,5b,%2,%0) in do_entUnaUser()
814 EXC(2b,5b,%1,%0) in do_entUnaUser()
815 EXC(3b,5b,$31,%0) in do_entUnaUser()
816 EXC(4b,5b,$31,%0) in do_entUnaUser()
830 "1: ldq_u %2,3(%5)\n" in do_entUnaUser()
831 "2: ldq_u %1,0(%5)\n" in do_entUnaUser()
832 " inslh %6,%5,%4\n" in do_entUnaUser()
833 " insll %6,%5,%3\n" in do_entUnaUser()
834 " msklh %2,%5,%2\n" in do_entUnaUser()
835 " mskll %1,%5,%1\n" in do_entUnaUser()
836 " or %2,%4,%2\n" in do_entUnaUser()
838 "3: stq_u %2,3(%5)\n" in do_entUnaUser()
839 "4: stq_u %1,0(%5)\n" in do_entUnaUser()
840 "5:\n" in do_entUnaUser()
841 EXC(1b,5b,%2,%0) in do_entUnaUser()
842 EXC(2b,5b,%1,%0) in do_entUnaUser()
843 EXC(3b,5b,$31,%0) in do_entUnaUser()
844 EXC(4b,5b,$31,%0) in do_entUnaUser()
858 "1: ldq_u %2,7(%5)\n" in do_entUnaUser()
859 "2: ldq_u %1,0(%5)\n" in do_entUnaUser()
860 " insqh %6,%5,%4\n" in do_entUnaUser()
861 " insql %6,%5,%3\n" in do_entUnaUser()
862 " mskqh %2,%5,%2\n" in do_entUnaUser()
863 " mskql %1,%5,%1\n" in do_entUnaUser()
864 " or %2,%4,%2\n" in do_entUnaUser()
866 "3: stq_u %2,7(%5)\n" in do_entUnaUser()
867 "4: stq_u %1,0(%5)\n" in do_entUnaUser()
868 "5:\n" in do_entUnaUser()
869 EXC(1b,5b,%2,%0) in do_entUnaUser()
870 EXC(2b,5b,%1,%0) in do_entUnaUser()
871 EXC(3b,5b,$31,%0) in do_entUnaUser()
872 EXC(4b,5b,$31,%0) in do_entUnaUser()
891 regs->pc -= 4; /* make pc point to faulting insn */ in do_entUnaUser()
899 struct mm_struct *mm = current->mm; in do_entUnaUser()
911 regs->pc -= 4; in do_entUnaUser()
919 /* Tell PAL-code what global pointer we want in the kernel. */ in trap_init()
924 wrent(entMM, 2); in trap_init()
927 wrent(entSys, 5); in trap_init()