lkml.org 
[lkml]   [1996]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Linux reboot
Date
On Mar, 27 Ulrich Windl wrote:
> The code (all from meory) tried to reset the system via keyboard
> controller and hardware reset. If that fails the system goes into a
> busy loop (not cli; hlt). Maybe we can have some fancy keyboard light
> show instead (to notify the user that the system is ready for reset)?

On Intel motherboards (both 486 and Pentium) keyboard controller is not able
to reboot the system. There is a special port on such boards. Here is a
fragment from Ralf Brown's Port List:

----------P0CF9------------------------------
PORT 0CF9 - Intel 82420EX chipset - TURBO/RESET CONTROL REGISTER
Notes: this port can only be accessed via 8-bit IN or OUT instructions by
the CPU
also supported by the Intel "Saturn" and "Neptune" chipsets
SeeAlso: PORT C051h

0CF9 RW reboot system, optionally selecting de-turbo mode (see #P182)

(Table P182)
Call Intel 82420EX turbo/reset control register with:
7-3 reserved (0)
2 reset CPU
1 reset mode
0 soft reset
1 hard reset
0 deturbo mode
Note: when resetting the CPU, two writes are required: the first sets the
state of bit 1 while keeping bit 2 cleared, and the second sets
bit 2; the reset occurs on bit 2's transition from 0 to 1.
---------------------------------------------

The simplest way to reboot, in my opinion, is to generate triple fault
(LIDT with zero limit, then any INT). It should work everywhere.

Yuri Per



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