Messages in this thread | | | Date | Mon, 12 May 2003 17:36:23 +0200 (MET DST) | From | "Maciej W. Rozycki" <> | Subject | Re: [PATCH] Use correct x86 reboot vector |
| |
On 11 May 2003, Eric W. Biederman wrote:
> There is some software at least that knows the difference. I have seen short > jumps in a couple of BIOS's. But a reset is very different from a > reboot. As memory must be reinitialized etc. So I think going to > 0xffff0000:0xfff0 would be a very bad idea if the intent is to get a > reliable reboot.
You may change a bit in the i8042 controller to make a BIOS assume that's a cold boot. The bit is zeroed (IIRC; apply a complement if my memory is bad) upon a system RESET that's propagated to the i8042 (i.e. a power-on or a button reset, but not a triple-fault or i8042 output port or port 0x92, etc. one). The bit is set to one by a BIOS during POST and never zeroed afterwards, but it's r/w, so there is no problem to clear it if needed. This should be quite a reliable way to reboot as a BIOS is assumed to initialize hardware from scratch (regardless of the reset vector used).
This assumes 100% PC/AT compatibility, of course, which need not be true these days any longer.
-- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |