Support 68060 (and, for the Amiga, even 68040 buserr frames) in the sendsig()

and, indirectly, sigreturn() functions.
XXX The Amiga should be switched to using sig_machdep.c instead.
This commit is contained in:
is 1998-01-06 20:50:22 +00:00
parent a0d473d24a
commit d002f566b3
2 changed files with 6 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: machdep.c,v 1.105 1997/12/04 15:33:17 tv Exp $ */ /* $NetBSD: machdep.c,v 1.106 1998/01/06 20:50:22 is Exp $ */
/* /*
* Copyright (c) 1988 University of Utah. * Copyright (c) 1988 University of Utah.
@ -745,9 +745,10 @@ printf("sendsig %d %d %x %x %x\n", p->p_pid, sig, mask, code, catcher);
kfp->sf_state.ss_flags = SS_USERREGS; kfp->sf_state.ss_flags = SS_USERREGS;
bcopy((caddr_t)frame->f_regs, bcopy((caddr_t)frame->f_regs,
(caddr_t)kfp->sf_state.ss_frame.f_regs, sizeof frame->f_regs); (caddr_t)kfp->sf_state.ss_frame.f_regs, sizeof frame->f_regs);
if (ft >= FMT9) { if (ft >= FMT4) {
#ifdef DEBUG #ifdef DEBUG
if (ft != FMT9 && ft != FMTA && ft != FMTB) if (ft != FMT4 && ft != FMT7 &&
ft != FMT9 && ft != FMTA && ft != FMTB)
panic("sendsig: bogus frame type"); panic("sendsig: bogus frame type");
#endif #endif
kfp->sf_state.ss_flags |= SS_RTEFRAME; kfp->sf_state.ss_flags |= SS_RTEFRAME;

View File

@ -1,4 +1,4 @@
/* $NetBSD: sig_machdep.c,v 1.4 1997/10/16 18:23:38 carrel Exp $ */ /* $NetBSD: sig_machdep.c,v 1.5 1998/01/06 20:50:24 is Exp $ */
/* /*
* Copyright (c) 1988 University of Utah. * Copyright (c) 1988 University of Utah.
@ -175,7 +175,7 @@ sendsig(catcher, sig, mask, code)
kfp->sf_state.ss_flags = SS_USERREGS; kfp->sf_state.ss_flags = SS_USERREGS;
bcopy((caddr_t)frame->f_regs, bcopy((caddr_t)frame->f_regs,
(caddr_t)kfp->sf_state.ss_frame.f_regs, sizeof frame->f_regs); (caddr_t)kfp->sf_state.ss_frame.f_regs, sizeof frame->f_regs);
if (ft >= FMT7) { if (ft >= FMT4) {
#ifdef DEBUG #ifdef DEBUG
if (ft > 15 || exframesize[ft] < 0) if (ft > 15 || exframesize[ft] < 0)
panic("sendsig: bogus frame type"); panic("sendsig: bogus frame type");