Lines Matching full:exception
2 * Low-level exception handling
90 /* ----------------- DEFAULT FIRST LEVEL EXCEPTION HANDLERS ----------------- */
93 * First-level exception handler for user exceptions.
96 * exception code.
109 * PT_DEPC >= VALID_DOUBLE_EXCEPTION_ADDRESS: double exception, DEPC
110 * < VALID_DOUBLE_EXCEPTION_ADDRESS: regular exception
242 /* Now, jump to the common exception handler. */
252 * MOVSP here, as we do that when we return from the exception.
253 * (See comment in the kernel exception exit code)
264 * PT_DEPC >= VALID_DOUBLE_EXCEPTION_ADDRESS: double exception, DEPC
265 * < VALID_DOUBLE_EXCEPTION_ADDRESS: regular exception
331 * in order to keep exception stack continuous
343 * This is the common exception handler.
344 * We get here from the user exception handler or simply by falling through
345 * from the kernel exception handler.
347 * to the second-level exception handler.
396 * - in case of exception or level-1 interrupt it's in the PS,
466 * exception handler and call the exception handler.
479 /* Jump here for exception exit */
502 /* Specific to a user exception exit:
586 /* Restore the state of the task and return from the exception. */
655 /* This is the kernel exception exit.
656 * We avoided to do a MOVSP when we entered the exception, but we
666 * been spilled to the *temporary* exception stack instead of the
680 * different from the time the exception occurred.)
683 /* Test WINDOWSTART before and after the exception.
688 _beqi a2, 1, common_exception_exit # Spilled before exception,jump
709 /* Common exception exit.
711 * return from the exception.
763 /* Check if it was double exception. */
784 * Debug exception handler.
796 bbsi.l a0, PS_EXCM_BIT, .Ldebug_exception_in_exception # exception mode
823 s32i a0, a2, PT_DEPC # mark it as a regular exception
830 /* Debug exception is handled as an exception, so interrupts will
831 * likely be enabled in the common exception handler. Disable
853 /* Debug exception while in exception mode. This may happen when
854 * window overflow/underflow handler or fast exception handler hits
903 /* Debug exception while in exception mode. Should not happen. */
910 * We get here in case of an unrecoverable exception.
932 .ascii "Unrecoverable error in exception handler\0"
962 /* -------------------------- FAST EXCEPTION HANDLERS ----------------------- */
979 * double exceptions. The 'movsp' instruction will only cause an exception if
980 * the next window needs to be loaded. In fact this ALLOCA exception may be
981 * replaced at some point by changing the hardware to do a underflow exception
985 * exception handler, makes it appear that we have started a window underflow
989 * active AR registers it won't cause an exception.
992 * the partial WindowUnderflow will be handled in the double exception
1004 * PT_DEPC >= VALID_DOUBLE_EXCEPTION_ADDRESS: double exception, DEPC
1005 * < VALID_DOUBLE_EXCEPTION_ADDRESS: regular exception
1037 * This is used to fix up user PS.WOE on the exception caused
1039 * already set it goes directly to the common user exception handler.
1143 * PT_DEPC >= VALID_DOUBLE_EXCEPTION_ADDRESS: double exception, DEPC
1144 * < VALID_DOUBLE_EXCEPTION_ADDRESS: regular exception
1393 /* Advance PC, restore registers and SAR, and return from exception. */
1449 * We get here if the spill routine causes an exception, e.g. tlb miss.
1451 * we entered the spill routine and jump to the user exception handler.
1473 * in WS, so that the exception handlers save them to the task stack.
1477 * the exception handler call.
1512 * depc: exception address
1527 /* Jump to the exception handler. */
1542 wsr a2, depc # exception address
1554 /* Load WB at the time the exception occurred. */
1609 * PT_DEPC >= VALID_DOUBLE_EXCEPTION_ADDRESS: double exception, DEPC
1610 * < VALID_DOUBLE_EXCEPTION_ADDRESS: regular exception
1615 /* Save a1 and a3. Note: we don't expect a double exception. */
1711 /* Return from double exception. */
1738 /* We shouldn't be in a double exception */
1743 /* Make sure the exception originated in the special functions */
1795 /* Invalid PGD, default exception handling */
1823 * PT_DEPC >= VALID_DOUBLE_EXCEPTION_ADDRESS: double exception, DEPC
1824 * < VALID_DOUBLE_EXCEPTION_ADDRESS: regular exception
1884 /* Double exception. Restore FIXUP handler and return. */