home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / bsd / 2922 < prev    next >
Encoding:
Internet Message Format  |  1992-07-26  |  1.8 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!mips!swrinde!news.dell.com!raid.dell.com!james
  2. From: james@raid.dell.com (James Van Artsdalen)
  3. Newsgroups: comp.unix.bsd
  4. Subject: 386BSD 0.1 bug: npx.c
  5. Message-ID: <1992Jul27.042209.19609@raid.dell.com>
  6. Date: 27 Jul 92 04:22:09 GMT
  7. Sender: james@raid.dell.com (James Van Artsdalen)
  8. Reply-To: james@raid.dell.com (James Van Artsdalen)
  9. Organization: Dell Computer Co
  10. Lines: 51
  11.  
  12. npx.c has a bug that causes it to write to I/O port 0xB1 instead of
  13. 0xF1.  Depending on the chipset, this could be bad: some chipsets
  14. don't fully decode the I/O space, and a write to port 0xB1 could wind
  15. up going to the mask register for PIC1, ie, the routine could wind up
  16. masking IRQ 8 through IRQ 15.
  17.  
  18. It should be noted that a lot of 386 designs ignore port 0xF1.
  19. I would guess that all 486s ignore it.
  20.  
  21. The second chunk fixes an incorrect comment.
  22.  
  23. *** npx.c.~1~    Mon Jul 13 04:24:27 1992
  24. --- npx.c    Sun Jul 26 22:14:02 1992
  25. ***************
  26. *** 130,136 ****
  27.           curpcb->pcb_flags |= FP_NEEDSRESTORE;
  28.       }
  29.       load_cr0(rcr0() | CR0_EM);    /* start emulating */
  30. !     outb(0xb1,0);        /* reset processor */
  31.   }
  32.   
  33.   /*
  34. --- 130,136 ----
  35.           curpcb->pcb_flags |= FP_NEEDSRESTORE;
  36.       }
  37.       load_cr0(rcr0() | CR0_EM);    /* start emulating */
  38. !     outb(0xf1,0);        /* reset coprocessor */
  39.   }
  40.   
  41.   /*
  42. ***************
  43. *** 161,167 ****
  44.       int code;
  45.   static status;
  46.   
  47. !     outb(0xf0,0);        /* reset processor */
  48.   /*pg("npxintr");*/
  49.   
  50.       asm ("    fnstsw    %0 " : "=m" (status) : "m" (status) );
  51. --- 161,167 ----
  52.       int code;
  53.   static status;
  54.   
  55. !     outb(0xf0,0);        /* clear BUSY# latch */
  56.   /*pg("npxintr");*/
  57.   
  58.       asm ("    fnstsw    %0 " : "=m" (status) : "m" (status) );
  59. -- 
  60. -- 
  61. James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
  62. Dell Computer Co    9505 Arboretum Blvd Austin TX 78759         512-338-8789
  63.