Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jun 1998 21:50:22 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        labrinop@pop.vaniercollege.qc.ca
Cc:        belkovic@albert.osu.cz, freebsd-hackers@FreeBSD.ORG
Subject:   Re: BROKEN_KEYBOARD_RESET
Message-ID:  <199806302150.OAA21588@usr02.primenet.com>
In-Reply-To: <199806301108.HAA23527@pteradactyl> from "labrinop@pop.vaniercollege.qc.ca" at Jun 30, 98 07:07:32 am

next in thread | previous in thread | raw e-mail | index | archive | help
>   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.

No.  There is a BIOS vector on the other end of this.  Some BIOS
reset implementations are incapable of operating in protected mode,
because of one assumption or another.

If the system were returned to real mode, or the reset was triggered in
a VM86, and allowed to run to completion instead of trapping whatever
the BIOS poked (ie: I/O address space, outb, CMOS, whatever), then you
could reset.


>   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

This presumes that the CPU reset is wired correctly.  The "correct"
wiring is undefined in the ISA/PC architecture documents that were
widely circulated when ISA was renamed "ISA"; in my experience, a
full 30% of motherboards fail to wire the reset such that a triple
fault results in the machine resetting.

See the Van Gilluwe book for details.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

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?199806302150.OAA21588>