T_USER
case T_IDIV0 + T_USER: /* integer divide by zero */
case T_DIV0 + T_USER: /* integer divide by zero */
case T_INT_OVERFLOW + T_USER: /* integer overflow */
case T_BREAKPOINT + T_USER: /* breakpoint trap (t 1) */
case T_TAG_OVERFLOW + T_USER: /* tag overflow (taddcctv, tsubcctv) */
case T_FLUSH_PCB + T_USER: /* finish user window overflow */
case T_FLUSHW + T_USER: /* finish user window flush */
if (type == T_FLUSHW + T_USER) {
case T_AST + T_USER: /* profiling or resched pseudo trap */
ASSERT(type & T_USER);
ASSERT(!(type & T_USER));
type |= T_USER;
case T_FP_EXCEPTION_IEEE + T_USER: /* FPU arithmetic exception */
case T_DATA_EXCEPTION + T_USER: /* user data access exception */
case T_LDDF_ALIGN + T_USER: /* 64 bit user lddfa alignment error */
case T_STDF_ALIGN + T_USER: /* 64 bit user stdfa alignment error */
case T_ALIGNMENT + T_USER: /* user alignment error */
case T_UNIMP_INSTR + T_USER: /* illegal instruction fault */
ASSERT(type & T_USER);
if (USERMODE(rp->r_tstate) || (type & T_USER)) {
type |= T_USER;
ASSERT((type == (T_SYS_RTT_PAGE | T_USER)) ||
(type == (T_SYS_RTT_ALIGN | T_USER)) ||
case T_WIN_OVERFLOW + T_USER:
case T_WIN_UNDERFLOW + T_USER:
case T_SYS_RTT_PAGE + T_USER:
case T_DATA_MMU_MISS + T_USER:
case T_INSTR_MMU_MISS + T_USER:
case T_INSTR_MMU_MISS + T_USER:
case T_DATA_MMU_MISS + T_USER:
case T_DATA_PROT + T_USER:
case T_AST + T_USER:
case T_SYS_RTT_PAGE + T_USER:
case T_FLUSH_PCB + T_USER:
case T_FLUSHW + T_USER:
if (type & T_USER) {
if ((type & ~T_USER) >= T_SOFTWARE_TRAP) {
siginfo.si_trapno = type &~ T_USER;
case T_INSTR_EXCEPTION + T_USER: /* user insn access exception */
case T_WIN_OVERFLOW + T_USER: /* window overflow in ??? */
case T_WIN_UNDERFLOW + T_USER: /* window underflow in ??? */
case T_SYS_RTT_PAGE + T_USER: /* window underflow in user_rtt */
case T_INSTR_MMU_MISS + T_USER: /* user instruction mmu miss */
case T_DATA_MMU_MISS + T_USER: /* user data mmu miss */
case T_DATA_PROT + T_USER: /* user data protection fault */
case T_INSTR_MMU_MISS + T_USER:
case T_DATA_MMU_MISS + T_USER:
case T_DATA_PROT + T_USER:
case T_WIN_OVERFLOW + T_USER:
case T_WIN_UNDERFLOW + T_USER:
case T_SYS_RTT_PAGE + T_USER:
type != T_WIN_OVERFLOW + T_USER &&
type != T_WIN_UNDERFLOW + T_USER &&
type != T_SYS_RTT_PAGE + T_USER &&
(type == T_WIN_OVERFLOW + T_USER ||
type == T_WIN_UNDERFLOW + T_USER ||
type == T_SYS_RTT_PAGE + T_USER)) {
int dotwo = (type == T_WIN_UNDERFLOW + T_USER);
type != T_INSTR_MMU_MISS + T_USER &&
if (type != (T_INSTR_MMU_MISS + T_USER)) {
case T_DATA_EXCEPTION + T_USER: /* user data access exception */
case T_SYS_RTT_ALIGN + T_USER: /* user alignment error */
case T_ALIGNMENT + T_USER: /* user alignment error */
if (type == T_SYS_RTT_ALIGN + T_USER) {
case T_PRIV_INSTR + T_USER: /* privileged instruction fault */
case T_UNIMP_INSTR + T_USER: /* illegal instruction fault */
case T_UNIMP_LDD + T_USER:
case T_UNIMP_STD + T_USER:
type &= ~T_USER;
type &= ~T_USER;