home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / unix / bsd / 5414 < prev    next >
Encoding:
Internet Message Format  |  1992-09-09  |  1.6 KB

  1. Path: sparky!uunet!sun-barr!olivea!spool.mu.edu!sol.ctr.columbia.edu!ucselx!crash!fpm
  2. From: fpm@crash.cts.com (Frank Maclachlan)
  3. Newsgroups: comp.unix.bsd
  4. Subject: Fix for 386BSD 0.1 BOOT009 bug
  5. Summary: Boot hangup w/ OPTi chipset MB fixed
  6. Keywords: OPTi,BOOT009,bug
  7. Message-ID: <1992Sep09.135513.18978@crash>
  8. Date: 9 Sep 92 20:55:13 GMT
  9. Followup-To: comp.unix.bsd
  10. Organization: CTS Network Services (crash, ctsnet), El Cajon, CA
  11. Lines: 36
  12.  
  13. I encountered the BOOT009 bug (buglist 2) when I replaced the mother-
  14. board in my 386BSD 0.1 system with an OPTi chipset based clone 386/40
  15. clone board.  The copyright notice appeared and the system hung w/
  16. no further activity.
  17.  
  18. I fixed the problem by adding a delay in the probe routine in
  19. '/sys/i386/isa/pccons.c' just before the keyboard controller is reset.
  20. Apparently the keyboard controller reset was falling through the cracks
  21. because of insufficient delay between the output to KBOUTP and the call
  22. to kbd_cmd() on the next line and the test for an ack from the keyboard
  23. controller was looping endlessly.  I am enclosing a context diff of the
  24. changes I made.
  25.  
  26.  
  27. *** pccons.c.ORIG    Tue Aug 11 17:08:53 1992
  28. --- pccons.c    Sat Aug 22 14:16:26 1992
  29. ***************
  30. *** 173,182 ****
  31. --- 173,184 ----
  32.       outb(KBOUTP, CMDBYTE);
  33.   
  34.       /* Start keyboard stuff RESET */
  35. +     DELAY(1000);
  36.       kbd_cmd(KBC_RESET);
  37.       while((c = inb(KBDATAP)) != KBR_ACK) {
  38.           if ((c == KBR_RESEND) ||  (c == KBR_OVERRUN)) {
  39.               if(!again)printf("KEYBOARD disconnected: RECONNECT \n");
  40. +             DELAY(1000);        /* just in case */
  41.               kbd_cmd(KBC_RESET);
  42.               again = 1;
  43.           }
  44.  
  45. --
  46. UUCP: {hplabs!hp-sdd ucsd nosc}!crash!fpm
  47. ARPA: crash!fpm@nosc.mil
  48. INET: fpm@crash.cts.com
  49.