Lines Matching refs:tf
86 #define USERMODE_P(tf) ((((tf)->tf_psl) & (PSL_U)) == PSL_U) argument
89 trap(struct trapframe *tf) in trap() argument
91 u_int sig = 0, type = tf->tf_trap, code = 0; in trap()
94 const bool usermode = USERMODE_P(tf); in trap()
109 l->l_md.md_utf = tf; in trap()
116 if(tf->tf_trap==7) goto fram; in trap()
118 tf->tf_trap, tf->tf_code, tf->tf_pc, tf->tf_psl); in trap()
125 kdb_trap(tf); in trap()
128 (u_int)tf->tf_trap, (u_int)tf->tf_code, in trap()
129 (u_int)tf->tf_pc, (u_int)tf->tf_psl); in trap()
134 mfpr(PR_KSP), (u_int)tf->tf_pc, pcb, in trap()
135 (u_int)tf->tf_fp, (u_int)tf->tf_psl); in trap()
155 if (tf->tf_code < 0) { /* Check for kernel space */ in trap()
171 if (tf->tf_code == CASMAGIC in trap()
172 && tf->tf_pc >= (uintptr_t) cas32_ras_start in trap()
173 && tf->tf_pc < (uintptr_t) cas32_ras_end) { in trap()
174 tf->tf_pc = (uintptr_t) cas32_ras_start; in trap()
184 tf->tf_trap, tf->tf_code, tf->tf_pc, tf->tf_psl); in trap()
189 tf->tf_pc, tf->tf_code); in trap()
190 if (tf->tf_psl & PSL_IS) in trap()
201 addr = trunc_page(tf->tf_code); in trap()
202 if (!usermode && (tf->tf_code < 0)) { in trap()
211 if (tf->tf_trap & T_WRITE) in trap()
223 tf->tf_pc = (unsigned)onfault; in trap()
224 tf->tf_psl &= ~PSL_FPD; in trap()
225 tf->tf_r0 = rv; in trap()
229 tf->tf_r0, tf->tf_r1, tf->tf_r2, tf->tf_r3); in trap()
231 tf->tf_r4, tf->tf_r5, tf->tf_r6, tf->tf_r7); in trap()
234 tf->tf_r8, tf->tf_r9, tf->tf_r10, in trap()
235 tf->tf_r11); in trap()
237 tf->tf_ap, tf->tf_fp, tf->tf_sp, tf->tf_pc); in trap()
239 tf->tf_pc, tf->tf_code); in trap()
279 tf->tf_psl &= ~PSL_T; in trap()
301 switch (tf->tf_code) { in trap()
327 kdb_trap(tf); in trap()
338 p->p_pid, l->l_lid, p->p_comm, sig, tf->tf_trap, in trap()
339 tf->tf_code, tf->tf_pc, tf->tf_psl); in trap()
342 ksi.ksi_trap = tf->tf_trap; in trap()
343 ksi.ksi_addr = (void *)tf->tf_code; in trap()
357 if (type == (T_ARITHFLT | T_USER) && (tf->tf_code & 8)) in trap()
358 tf->tf_pc = skip_opcode(tf->tf_pc); in trap()
366 userret(l, tf, oticks); in trap()
372 struct trapframe * const tf = l->l_md.md_utf; in setregs() local
374 tf->tf_pc = pack->ep_entry + 2; in setregs()
375 tf->tf_sp = stack; in setregs()
376 tf->tf_r6 = stack; /* for ELF */ in setregs()
377 tf->tf_r7 = 0; /* for ELF */ in setregs()
378 tf->tf_r8 = 0; /* for ELF */ in setregs()
379 tf->tf_r9 = l->l_proc->p_psstrp; /* for ELF */ in setregs()