*BSD News Article 14162


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!wupost!uunet!psgrain!m2xenix!agora!rgrimes
From: rgrimes@agora.rain.com (Rodney Grimes)
Subject: Re: npx-0.4
Message-ID: <C542y4.H73@agora.rain.com>
Organization: Open Communications Forum
References: <0fkT6Je00iUx87nkl9@andrew.cmu.edu>
Date: Wed, 7 Apr 1993 11:37:15 GMT
Lines: 53

aw2t+@andrew.cmu.edu (Alex R.N. Wetmore) writes:

>I have been having trouble getting the new npx-0.4 stuff to work.  I
>have followed the instructions but when I boot up the kernel stops
>waiting for npx0 to interrupt.  If I wait long enough (or hit a key?) it
>will bring up a message saying that npx0 never interrupted.

>I have also installed the other two patches that go along with this
>(com-0.2 and intr-0.0).  Here is my hardware:
>  Mitsubishi 386dx/16 with 80387dx/16
		^^^^^^^^^^^^^^^^^^^^^^^^

It is a known bug in Bruces npx-0.4 code, a 386/387 combination will always
lock up in the probe code.  Below is a small patch to fix this lock up, now
got fix the other bugs for us and it will get in the patchkit along with
intr-0.0!

>  8.5 megs of megs of memory (2.5 is 16-bit, but that shouldn't matter).
>  16450 uarts
>  110 meg hard drive
>  paradise vga
>  
>don't really think much else will matter.  Any clues?

>thanks,
>alex
------ cut me here and scratch you crt -----
*** npx.c.bde_orig	Thu Jan 21 06:39:17 1993
--- npx.c	Mon Mar 22 02:26:01 1993
***************
*** 146,152 ****
--- 146,161 ----
  			control &= ~(1 << 2);	/* enable divide by 0 trap */
  			fldcw(&control);
  			probing_npx_trap = 1;
+ #ifdef i486
+ 		/*
+ 		 * This only seems to work properly on a 486 machine,	
+ 		 * it locks up a 386/387 combination.  By having
+ 		 * this not compile on a 386 system it effectevly disables
+ 		 * the trap 16 stuff.  THIS IS A HACK XXX
+ 		 * Rod Grimes (rgrimes@agora.rain.com) 1/15/93
+ 		 */
  			fp_divide_by_0();
+ #endif
  			probing_npx_trap = 0;
  
  #if 1 /* change to #if 0 to test IRQ13 exception reporting on 486's */
------ cut me here and scratch you crt -----
-- 
Rod Grimes						rgrimes@agora.rain.com
386BSD patchkit coordinator			     Wish it payed real money!
Accurate Automation Company          All opinions belong to me and my company!