From owner-freebsd-hackers Mon Jun 26 12:26:38 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id MAA29721 for hackers-outgoing; Mon, 26 Jun 1995 12:26:38 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id MAA29714 for ; Mon, 26 Jun 1995 12:26:30 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id FAA11249; Tue, 27 Jun 1995 05:21:05 +1000 Date: Tue, 27 Jun 1995 05:21:05 +1000 From: Bruce Evans Message-Id: <199506261921.FAA11249@godzilla.zeta.org.au> To: bde@zeta.org.au, rgrimes@gndrsh.aac.dev.com Subject: Re: 2.05R reboot hangs Cc: hackers@freebsd.org, wpaul@skynet.ctr.columbia.edu Sender: hackers-owner@freebsd.org Precedence: bulk >jmp 0xffff:0xfff0 is deadly on some machines unless a hard reset has >just occured. Many BIOS writers only expected to start executing >from that location on a hard reset and do not do full CPU chip >initialization. I think at least [3-4]86's can be initialized sufficiently in software. >And the first requirement is that you have a page that is mapped >physical==logical to do run the code in :-(. Page 0 is free and normally mapped to 0xf0000000. You just have to map it to 0 too. >> There's no way to reset all hardware properly, even for warm boots >> under DOS. Some BIOS's don't even reset serial ports that they >> support. >Correct, but setting location 0x471 to 0 helps a lot, as that tells >the BIOS to do a cold boot, memory test and all. Actually any value >other than the magic one we stuff in there in locore.s. 0x472-3. There is also a boot-type byte in the CMOS and a cold-boot flag in the keyboard controller. The boot-type byte defaults to a cold boot so FreeBSD doesn't need to touch it. I'm not sure if the keyboard flag is writable. FreeBSD shouldn't set the 0x472 magic at boot time; it should set it at reboot time only for controlled boots, or perhaps always for BIOSes that don't do sufficient initialization after a warm boot. Bruce