Return to BSD News archive
Newsgroups: comp.os.386bsd.questions
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!usc!howland.reston.ans.net!newsserver.jvnc.net!gmd.de!mururoa!veit
From: veit@mururoa.gmd.de (Holger Veit)
Subject: Re: Booting 386bsd from a 486dx2 machine
Message-ID: <1993Apr19.071241.24691@gmd.de>
Sender: veit@mururoa (Holger Veit)
Nntp-Posting-Host: mururoa.gmd.de
Organization: GMD, Sankt Augustin, Germany
References: <1993Apr11.011315.342@nhqvax.hq.nasa.gov> <1993Apr17.183457.351@nhqvax.hq.nasa.gov>
Date: Mon, 19 Apr 1993 07:12:41 GMT
Lines: 48
In article <1993Apr17.183457.351@nhqvax.hq.nasa.gov>, mnewell@nhqvax.hq.nasa.gov writes:
|> Goodness occurs - I got it to boot!!!
|>
|> The problem was in the "probe" routine of "pccons". It appears there is
|> some problem with sending commands to the KB contoller, then reading
|> them immediately back. After sticking in a couple of hard loops
|> (ok, it's crude - but it worked! Now I can debug it more fully...)
|> For those of you having the same problem, I munged the code as
|> follows:
|>
|> /* Enable interrupts and keyboard controller */
|> kbc_8042cmd(K_LDCMDBYTE);
|> outb(KBOUTP, CMDBYTE);
|>
|> /* Start keyboard stuff RESET */
|> kbd_cmd(KBC_RESET);
|> while((c = inb(KBDATAP)) != KBR_ACK) {
|> if ((c == KBR_RESEND) || (c == KBR_OVERRUN)) {
|> if(!again)printf("KEYBOARD disconnected: RECONNECT
|> \n");
|> kbd_cmd(KBC_RESET);
|> again = 1;
|> }
|> { int ii; for (ii=0; ii < 100000; ++ii); } /* MCN */
|> }
|>
|> /* pick up keyboard reset return code */
|> while((c = inb(KBDATAP)) != KBR_RSTDONE)
|> { int ii; for (ii=0; ii < 100000; ++ii); } /* MCN */
|> return 1;
|> }
|>
|> The lines with "mcn" are the relevant changes. As I said, crude but
|> it works... On a 486/50 the 100K loop isn't really noticable [snicker].
This is quite similar to the DELAY(1000) hack that was in the pccons code
for a long period. The problem should be corrected in the actual patchkit
0.2.2 in a much better way.
Holger
--
Dr. Holger Veit | INTERNET: Holger.Veit@gmd.de
| | / GMD-SET German National Research | Phone: (+49) 2241 14 2448
|__| / Center for Computer Science | Fax: (+49) 2241 14 2342
| | / P.O. Box 13 16 | Three lines Signature space
| |/ Schloss Birlinghoven | available for rent. Nearly
DW-5205 St. Augustin, Germany | unused, good conditions