Date: Tue, 27 Oct 1998 01:16:14 +0200 (SAT) From: Robert Nordier <rnordier@nordier.com> To: freebsd-current@FreeBSD.ORG Cc: abial@nask.pl, rnordier@nordier.com, mike@smith.net.au, Jos.Backus@nl.origin-it.com Subject: Re: /boot/loader hangs after arrow/function key pressed at prompt Message-ID: <199810262316.BAA02936@ceia.nordier.com> In-Reply-To: <199810262154.XAA01438@ceia.nordier.com> from Robert Nordier at "Oct 26, 98 11:54:26 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
I wrote: > Andrzej Bialecki wrote: > > On Mon, 26 Oct 1998, Robert Nordier wrote: > > > > > > I also encountered another problem: /boot/loader sometimes ignores > > > > all keypresses (I wasn't able even to break the countdown), but I'm not > > > > sure in what circumstances it happens - it sometimes happens, when I type > > > > something on the boot: prompt, then delete it. > > > > > > If this happened with the new boot1/boot2, can you confirm this is > > > still a problem? Your original report of this was some time ago, and > > > various changes have been made, including to the input routine. > > > > I just checked it with the newest sources - I built the binaries, and > > installed them, and rebooted... Well, after several times I kind of see a > > pattern. /boot/loader seems to choke when I press Enter _twice_ very > > quickly at the boot: prompt (but again, not always..). Seems to me that > > some junk left in some buffer confuses it... > > That's great, thanks. I've managed to get it happening fairly > reproducibly. FWIW, it needs Enter three times at the boot manager > prompt here. > > I think I may have found the problem: anyway, I found something. I'll > just have to work on my keyboard technique to test it. :-) There following patch makes a difference here, though I'm not sure this is necessarily the only problem. Index: vidconsole.c =================================================================== RCS file: /home/ncvs/src/sys/boot/i386/libi386/vidconsole.c,v retrieving revision 1.6 diff -u -r1.6 vidconsole.c --- vidconsole.c 1998/10/11 10:07:52 1.6 +++ vidconsole.c 1998/10/26 23:07:53 @@ -120,9 +120,7 @@ v86.addr = 0x16; v86.eax = 0x100; v86int(); - if (!(v86.efl & PSL_Z)) - return(v86.eax & 0xff); - return(0); + return(!(v86.efl & PSL_Z)); } #if KEYBOARD_PROBE The function vidc_ischar() was attempting to return the ASCII code of the key pressed, even though several PC keys don't have an ASCII representation. The corresponding serial function comc_ischar() is less ambitious, so the patch reduces the behavior to the lower common denominator. -- Robert Nordier To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810262316.BAA02936>