lkml.org 
[lkml]   [2003]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2005-03-22 13:35    [W:0.049 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site