From owner-freebsd-stable Sun Oct 25 18:38:07 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA13894 for freebsd-stable-outgoing; Sun, 25 Oct 1998 18:38:07 -0800 (PST) (envelope-from owner-freebsd-stable@FreeBSD.ORG) Received: from alcanet.com.au (border.alcanet.com.au [203.62.196.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA13888 for ; Sun, 25 Oct 1998 18:38:04 -0800 (PST) (envelope-from peter.jeremy@auss2.alcatel.com.au) Received: by border.alcanet.com.au id <40324>; Mon, 26 Oct 1998 13:36:52 +1100 Date: Mon, 26 Oct 1998 13:36:27 +1100 From: Peter Jeremy Subject: Re: System will not Complete Shutdown To: stable@FreeBSD.ORG Message-Id: <98Oct26.133652est.40324@border.alcanet.com.au> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Kazutaka YOKOTA wrote: > For reasons unintelligible to me, IBM decided to put the CPU reset > circuit wired to the keyboard controller in the IBM AT computer. You > are supposed to instruct the keyboard controller to reset the CPU when > you want to restart the system. This particular piece of brokenness is a result of Intel's decision not to provide a protected-mode -> real-mode switch on the 80286. The 286 resets into real mode. If you change it to protected mode, there's no way (other than reset) to get back to real mode. Since the BIOS, M$-DOS and applications ran in real mode, but the extended memory was only accessible in protected mode, the processor needed to switch between real and protected modes. The way around the lack of CPU support for getting from protected mode back to real mode was to write a magic value at a magic address in BIOS-reserved RAM, tell the keyboard controller to reset the CPU and then during the reset processing, check for the magic value and continue execution `normally' if it was found. Peter -- Peter Jeremy (VK2PJ) peter.jeremy@alcatel.com.au Alcatel Australia Limited 41 Mandible St Phone: +61 2 9690 5019 ALEXANDRIA NSW 2015 Fax: +61 2 9690 5247 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message