Re: [PATCH] Use correct x86 reboot vector

From: Maciej W. Rozycki (macro@ds2.pg.gda.pl)
Date: Mon May 12 2003 - 10:36:23 EST


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/



This archive was generated by hypermail 2b29 : Thu May 15 2003 - 22:00:39 EST