Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/nathanw_sa]: src/sys/arch/m68k/m68k Invokde upcalls directly.



details:   https://anonhg.NetBSD.org/src/rev/e1268f37d678
branches:  nathanw_sa
changeset: 506097:e1268f37d678
user:      nathanw <nathanw%NetBSD.org@localhost>
date:      Fri Aug 02 20:58:04 2002 +0000

description:
Invokde upcalls directly.

diffstat:

 sys/arch/m68k/m68k/sig_machdep.c |  10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diffs (42 lines):

diff -r 8cfe680aefb7 -r e1268f37d678 sys/arch/m68k/m68k/sig_machdep.c
--- a/sys/arch/m68k/m68k/sig_machdep.c  Fri Aug 02 20:47:59 2002 +0000
+++ b/sys/arch/m68k/m68k/sig_machdep.c  Fri Aug 02 20:58:04 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sig_machdep.c,v 1.15.6.17 2002/08/02 08:39:03 gmcgarry Exp $   */
+/*     $NetBSD: sig_machdep.c,v 1.15.6.18 2002/08/02 20:58:04 nathanw Exp $    */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -278,20 +278,18 @@
        void *sas, *ap, *sp;
        sa_upcall_t upcall;
 {
-       extern char sigcode[], upcallcode[];
-       struct proc *p = l->l_proc;
        struct saframe *sfp, sf;
        struct frame *frame;
 
        frame = (struct frame *)l->l_md.md_regs;
 
        /* Finally, copy out the rest of the frame */
+       sf.sa_ra = 0;
        sf.sa_type = type;
        sf.sa_sas = sas;
        sf.sa_events = nevents;
        sf.sa_interrupted = ninterrupted;
        sf.sa_arg = ap;
-       sf.sa_upcall = upcall;
        
        sfp = (struct saframe *)sp - 1;
        if (copyout(&sf, sfp, sizeof(sf)) != 0) {
@@ -300,9 +298,7 @@
                /* NOTREACHED */
        }
 
-       /* XXX hack-o-matic */
-       frame->f_pc = (int)((caddr_t) p->p_sigctx.ps_sigcode + (
-               (caddr_t)upcallcode - (caddr_t)sigcode));
+       frame->f_pc = (int)upcall;
        frame->f_regs[SP] = (int) sfp;
        frame->f_regs[A6] = 0; /* indicate call-frame-top to debuggers */
        frame->f_sr &= ~PSL_T;



Home | Main Index | Thread Index | Old Index