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