Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Oct 1998 14:55:56 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        Mike Smith <mike@smith.net.au>
Cc:        Tom Jackson <toj@gorilla.net>, Karl Pielorz <kpielorz@tdx.co.uk>, Chuck Robey <chuckr@mat.net>, freebsd-current@FreeBSD.ORG
Subject:   Re: panic 
Message-ID:  <199810180655.OAA17728@spinner.netplex.com.au>
In-Reply-To: Your message of "Sat, 17 Oct 1998 22:38:37 MST." <199810180538.WAA09998@dingo.cdrom.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Mike Smith wrote:
> > *Bingo* no ahh shit! That fixed me here.
> > 
> > I'm began running gpl_math_emulate so that the rc5des client would run on
> > the Thinkpad. For your amusement, here's what I get if I change back to the
> > straight math_emulate:
> > 
> > -normal probes and swapon-
> > /dev/wd0s1a: clean, 10064 [pid 10 (fsck),uid 0: exited on signal 10]
> > Bus error
> 
> Actually, that almost looks like no math emulator at all; there's an FP 
> calculation performed to print those stats, but it's just simple 
> division and the old emulator used to get that more or less right.

Hmm..  I don't have any machines that don't have a FPU..

However, in trap.c, if there was no math emulator loaded, I'd have 
expected a SIGFPE, not a SIGBUS:
                        if (!pmath_emulate) {  
                                i = SIGFPE;
                                ucode = FPE_FPU_NP_TRAP;
                                break;
                        }

Just to satisfy my curiosity, I'd like somebody to try this:
Index: math_emulate.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/math_emulate.c,v
retrieving revision 1.28
diff -c -3 -r1.28 math_emulate.c
*** math_emulate.c	1998/10/16 03:54:59	1.28
--- math_emulate.c	1998/10/18 06:45:32
***************
*** 1578,1585 ****
  	case MOD_LOAD:
  		if (pmath_emulate)
  			printf("Another Math emulator already present\n");
! 		else
  			pmath_emulate = math_emulate;
  		break;
  	case MOD_UNLOAD:
  		if (pmath_emulate != math_emulate) {
--- 1578,1587 ----
  	case MOD_LOAD:
  		if (pmath_emulate)
  			printf("Another Math emulator already present\n");
! 		else {
  			pmath_emulate = math_emulate;
+ 			printf("MATH_EMULATE activated\n");
+ 		}
  		break;
  	case MOD_UNLOAD:
  		if (pmath_emulate != math_emulate) {

And make sure that it's actually being initialized...

Cheers,
-Peter



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810180655.OAA17728>