Date: Sun, 23 Jun 2002 02:03:26 +0200 From: "Achim Hensel" <achim.hensel@ruhr-uni-bochum.de> To: freebsd-questions@FreeBSD.ORG Subject: Standard way to inlude probe_keyboard counter for buffer clearing? Message-ID: <3D152C6E.5063.2700D36@localhost>
next in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello Folks
(It seems I got visited from an old Bug)
Description
=3D=3D=3D=3D=3D=3D=3D=3D
I want to run a headless FreeBSD R4.6-Box, but the Loader hangs (in =
an endless loop), if no keyboard is attached.
(see: Problem Report i386/3124). My system is an old 486, and I =
killed this bug at linux.
Question:
=3D=3D=3D=3D=3D=3D=3D
Is there a standard way (patch, etc.) to modify the keyboard setup =
function keyboard_probe in such a way, that only a limited number of =
attempts to clear the kbd buffer will be executed, e.g. by =
introducing a counter?
I know, space in boot block is scarce, so a established method would =
be good.
Reason:
=3D=3D=3D=3D=3D
In the function probe_keyboard() of
/usr/src/sys/i386/boot/biosboot/probe_keyboard.c
or
sys/boot/i386/libi386/vidconsole.c
the keyboard buffer is emptied with
/* flush any noise */
while (inb(IO_KBD + KBD_STATUS_PORT) & KBDS_ANY_BUFFER_FULL) {
delay7();
inb(IO_KBD + KBD_DATA_PORT);
delay1ms();
}
It seems that without a keyboard, the kbd buffer looks always non-
empty (maybe a KEYBOARD_ABSENT Messange behaves like a non-empty kbd =
buffer). This bug was solved at my old linux box by adding a counter, =
which limited the code to some 1000's loops.
CU,
Achim
- --
Achim Hensel achim.hensel@ruhr-
uni-bochum.de
Tel.: +49/234/473094 http://homepage.ruhr-uni-
bochum.de/achim.hensel
-----BEGIN PGP SIGNATURE-----
Version: idw's PGP-Frontend 4.8.5 / 2-2002 + PGP 6.5.X
iQA/AwUBPRUCTJi0ooM1RDDeEQI2lwCeJmUQ96P/Sok71qj9gd4QdIJLywwAoLBh
TMifRIQ7ppb53igXxkjt3OQO
=3Dxa4E
-----END PGP SIGNATURE-----
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D152C6E.5063.2700D36>
