Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/i386/isa SA_SIGINFO changes



details:   https://anonhg.NetBSD.org/src/rev/8c553e17b6e2
branches:  trunk
changeset: 551460:8c553e17b6e2
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Sep 06 23:15:35 2003 +0000

description:
SA_SIGINFO changes

diffstat:

 sys/arch/i386/isa/npx.c |  10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diffs (45 lines):

diff -r a7dcabf25245 -r 8c553e17b6e2 sys/arch/i386/isa/npx.c
--- a/sys/arch/i386/isa/npx.c   Sat Sep 06 22:56:47 2003 +0000
+++ b/sys/arch/i386/isa/npx.c   Sat Sep 06 23:15:35 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: npx.c,v 1.94 2003/08/07 16:28:01 agc Exp $     */
+/*     $NetBSD: npx.c,v 1.95 2003/09/06 23:15:35 christos Exp $        */
 
 /*-
  * Copyright (c) 1991 The Regents of the University of California.
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npx.c,v 1.94 2003/08/07 16:28:01 agc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npx.c,v 1.95 2003/09/06 23:15:35 christos Exp $");
 
 #if 0
 #define IPRINTF(x)     printf x
@@ -362,6 +362,7 @@
        struct intrframe *frame = &iframe;
        struct npx_softc *sc;
        int code;
+       ksiginfo_t ksi;
 
        sc = npx_softc;
 
@@ -434,6 +435,9 @@
        /*
         * Pass exception to process.
         */
+       memset(&ksi, 0, sizeof(ksi));
+       ksi.ksi_signo = SIGFPE;
+       ksi.ksi_addr = (void *)frame->if_eip;
        if (USERMODE(frame->if_cs, frame->if_eflags)) {
                /*
                 * Interrupt is essentially a trap, so we can afford to call
@@ -456,7 +460,7 @@
 #else
                code = 0;       /* XXX */
 #endif
-               trapsignal(l, SIGFPE, code);
+               trapsignal(l, &ksi);
        } else {
                /*
                 * This is a nested interrupt.  This should only happen when



Home | Main Index | Thread Index | Old Index