Re: [PATCH] Use correct x86 reboot vector

Eric W. Biederman (ebiederm@xmission.com)
11 May 2003 11:54:20 -0600


Linus Torvalds <torvalds@transmeta.com> writes:

> On Sat, 10 May 2003, Jamie Lokier wrote:
> > Jos Hulzink wrote:
> > > For the sake of bad behaving BIOSes however, I'd vote for the f000:fff0
> > > vector, unless someone can hand me a paper that says it is wrong.
> >
> > I agree, for the simple reason that it is what the chip does on a
> > hardware reset signal.
>
> Hmm.. Doesnt' a _real_ hardware reset actually use a magic segment that
> isn't even really true real mode? I have this memory that the reset value
> for a i386 has CS=0xf000, but the shadow base register actually contains
> 0xffff0000. In other words, the CPU actually starts up in "unreal" mode,
> and will fetch the first instruction from physical address 0xfffffff0.
>
> At least that was true on an original 386. It's something that could
> easily have changed since.

Correct. And no one has changed it since. I use that all of the time.

> In other words, you're all wrong. Nyaah, nyaah.

However 0xf000:fff0 is as close as you can get, and since that is usually
RAM it can do something different on a reset vs a reboot if it wants
to.

Using 0xf000 is just polite as it allows relative jumps.

Eric
-
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/