home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!mips!swrinde!news.dell.com!raid.dell.com!james
- From: james@raid.dell.com (James Van Artsdalen)
- Newsgroups: comp.unix.bsd
- Subject: 386BSD 0.1 bug: npx.c
- Message-ID: <1992Jul27.042209.19609@raid.dell.com>
- Date: 27 Jul 92 04:22:09 GMT
- Sender: james@raid.dell.com (James Van Artsdalen)
- Reply-To: james@raid.dell.com (James Van Artsdalen)
- Organization: Dell Computer Co
- Lines: 51
-
- npx.c has a bug that causes it to write to I/O port 0xB1 instead of
- 0xF1. Depending on the chipset, this could be bad: some chipsets
- don't fully decode the I/O space, and a write to port 0xB1 could wind
- up going to the mask register for PIC1, ie, the routine could wind up
- masking IRQ 8 through IRQ 15.
-
- It should be noted that a lot of 386 designs ignore port 0xF1.
- I would guess that all 486s ignore it.
-
- The second chunk fixes an incorrect comment.
-
- *** npx.c.~1~ Mon Jul 13 04:24:27 1992
- --- npx.c Sun Jul 26 22:14:02 1992
- ***************
- *** 130,136 ****
- curpcb->pcb_flags |= FP_NEEDSRESTORE;
- }
- load_cr0(rcr0() | CR0_EM); /* start emulating */
- ! outb(0xb1,0); /* reset processor */
- }
-
- /*
- --- 130,136 ----
- curpcb->pcb_flags |= FP_NEEDSRESTORE;
- }
- load_cr0(rcr0() | CR0_EM); /* start emulating */
- ! outb(0xf1,0); /* reset coprocessor */
- }
-
- /*
- ***************
- *** 161,167 ****
- int code;
- static status;
-
- ! outb(0xf0,0); /* reset processor */
- /*pg("npxintr");*/
-
- asm (" fnstsw %0 " : "=m" (status) : "m" (status) );
- --- 161,167 ----
- int code;
- static status;
-
- ! outb(0xf0,0); /* clear BUSY# latch */
- /*pg("npxintr");*/
-
- asm (" fnstsw %0 " : "=m" (status) : "m" (status) );
- --
- --
- James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die"
- Dell Computer Co 9505 Arboretum Blvd Austin TX 78759 512-338-8789
-