Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jun 1998 07:07:32 +0000
From:      labrinop@pop.vaniercollege.qc.ca
To:        Josef Belkovics <belkovic@albert.osu.cz>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:    Re: BROKEN_KEYBOARD_RESET
Message-ID:  <199806301108.HAA23527@pteradactyl>

next in thread | raw e-mail | index | archive | help
On Fri, 26 Jun 1998 Josef Belkovics wrote:

> My home pc (Cyrix 486DX4) does not a CPU reset via the keyboard
> controller or via invltbl() (/sys/i386/i386/vm_machdep.c). Is 
> somebody able to say me patch which will reset through bios. Or in 
> some other way. (Don't write - throw it out.) 

  A software reset is generated by asserting  a bit in the 8042 
keyboard controller (thats why its called KEYBOARD_RESET),
ie: 
	MOV	AL , 0xFE		; pulse 8042 output port with bit 0 must be low
	OUT		0x64 , AL		; output to 8042 command register

this is how it has been done since the PC/AT (PC & PC/XT doesn't have 
this) and is still done. The above sequence has the same effect as 
the RESET button (internally their wired together). But some 
motherboard/chipsets are broken and don't work correctly.

  Another way to reset the system while still in protected mode is to 
generate a triple fault:  clear IDT entries 8 (Double Fault) and 10 
(Invalid TSS) and then load TR with an illegal selector.

	> invalid tss > double fault > triple fault > cpu shutdown > reset

PeterL

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806301108.HAA23527>