version 1.217.12.6, 2009/08/30 10:04:23 |
version 1.217.12.7, 2009/09/02 01:35:22 |
Line 564 trap(unsigned int status, unsigned int c |
|
Line 564 trap(unsigned int status, unsigned int c |
|
fp = l->l_md.md_regs; |
fp = l->l_md.md_regs; |
fp->f_regs[_R_CAUSE] = cause; |
fp->f_regs[_R_CAUSE] = cause; |
fp->f_regs[_R_BADVADDR] = vaddr; |
fp->f_regs[_R_BADVADDR] = vaddr; |
#ifdef DBEUG |
#if defined(DEBUG) |
printf("trap: pid %d: sig %d, cause %#x pc %#"PRIxREGISTER |
printf("trap: pid %d(%s): sig %d: cause=%#x pc=%#"PRIxREGISTER |
" ra %#"PRIxREGISTER" va %#"PRIxVADDR"\n", |
" ra=%#"PRIxREGISTER" va=%#"PRIxVADDR " gp=%#"PRIxREGISTER"\n", |
p->p_pid, ksi.ksi_signo, cause, fp->f_regs[_R_PC], |
p->p_pid, p->p_comm, ksi.ksi_signo, cause, fp->f_regs[_R_PC], |
fp->f_regs[_R_RA], vaddr); |
fp->f_regs[_R_RA], vaddr, fp->f_regs[_R_GP]); |
#endif |
#endif |
(*p->p_emul->e_trapsignal)(l, &ksi); |
(*p->p_emul->e_trapsignal)(l, &ksi); |
if ((type & T_USER) == 0) |
if ((type & T_USER) == 0) |