Date: Mon, 15 Jan 1996 13:33:55 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: chx0@mail.opensol.com.ar (CHX0) Cc: freebsd-hackers@freebsd.org Subject: Re: reboot Message-ID: <199601152033.NAA28111@phaeton.artisoft.com> In-Reply-To: <199601151450.LAA14696@mail.opensol.com.ar> from "CHX0" at Jan 15, 96 11:50:38 am
next in thread | previous in thread | raw e-mail | index | archive | help
> My system running 2.1.0-RELEASE doesn't reboot even after setting > BROKEN_KEYBOARD_RESET ni the new rebuilt kernel (the whole change > is that now it doesn't print the message that the keyboard reset > didn't work). Any clue about this ? Does FreeBSD attempt to do a > cold or a warm boot ? does it use int 19 h ? It uses the keboard reset. If your BIOS is stupid, it relies on the reset code being called in real mode, and if it's only dumb, it relies on the gate A20 geing in the default state to address wrap the ROMs. When this fails on a dumb or stupid BIOS, a triple fault is generated, which is supposed to cause the CPU reset to strobe. In a bad motherboard implementation, a triple fault will not cause a reset, since the strobe is considered a soft rather than a hard reset. It is possible to put the gate A20 back before doing the reset. This will fix approximately 15-20% of the reset problems (ie: 1-2% of all the machines out there, since most don't have reset problems). It's very difficult to get back into real mode. Probably, it wants VM86 support for triggering the processor back (or more locore.s support for the same reasons). On PCI and EISA systems (most new systems have PCI), the problem can be fixed by using the bus-defined reset mechanism. This would be about 65-70% of all systems with reset problem, or 7-8%. The remaining 10-20% *require* real mode and have no other workarounds. The general recommendations are: 1) Implement the A20 fix 2) Implement (and prefer the use of) PCI/EISA bus based reset 3) Implement the "return to real mode" reset 4) Update BIOS that wants the A20 fix 5) Update motherboards that don't do the triple fault The first three will guarantee FreeBSD total coverage, the last two will guarntee you a system that will work correctly with OS's other than FreeBSD (should you be silly enough to run them 8-)). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601152033.NAA28111>