Re: [PATCH] Use correct x86 reboot vector

Richard B. Johnson (root@chaos.analogic.com)
Tue, 13 May 2003 15:04:08 -0400 (EDT)


On Tue, 13 May 2003, H. Peter Anvin wrote:

> Followup to: <200305130851_MC3-1-38A3-A3B4@compuserve.com>
> By author: Chuck Ebbert <76306.1226@compuserve.com>
> In newsgroup: linux.dev.kernel
> >
> > Christer Weinigel wrote:
> >
> > > BTW, what does Windows do here? Whatever Windows is using should work
> > > with Linux too.
> >
> > I've only ever seen NT4/2K do a warm reboot, if that's relevant.
> >
> > FreeBSD unmaps every page in the machine and then flushes the
> > TLB as its last-resort reboot attempt. I assume this causes a
> > triplefault...
> >
>
> So it does. It's easier, though, to set the limit on the IDTR to zero
> and then trap.
>
> -hpa

Don't thing there's anything much easier than:

movl $1, %eax
movl %eax, %cr0

... execute that in paged RAM (above the 1:1 mapping), and you
will get a hard processor reset without any bus access at all.
This unmaps everything in one fell-swoop.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.

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