From owner-freebsd-hackers Sun Jun 25 15:57:10 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id PAA11373 for hackers-outgoing; Sun, 25 Jun 1995 15:57:10 -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 PAA11361 for ; Sun, 25 Jun 1995 15:57:06 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id IAA08952; Mon, 26 Jun 1995 08:53:31 +1000 Date: Mon, 26 Jun 1995 08:53:31 +1000 From: Bruce Evans Message-Id: <199506252253.IAA08952@godzilla.zeta.org.au> To: rgrimes@gndrsh.aac.dev.com, wpaul@skynet.ctr.columbia.edu Subject: Re: 2.05R reboot hangs Cc: hackers@freebsd.org Sender: hackers-owner@freebsd.org Precedence: bulk >I seem to recall reading somewhere that there's a BIOS routine that >can be used for rebooting the system. Now, I know using BIOS calls is a I couldn't find a standard one in the Interrupt List. There is INT 19h for the bootstrap loader, but it is unusable even from DOS because it doesn't unhook hooked vectors. >no-no without a VM86 interface of some kind, but what I'm wondering >is if it's possible to force the system back into real mode just long >enough to call the BIOS reboot routine. If you put everything back into real mode exactly as it was at boot time, then even INT 19h will work. `jmp 0xffff:0xfff0' probably only requires putting the processor into an 8088'ish mode: no speical stuff in cr0 (paging, protection, ...) and segment selectors that make sense in real mode. The BIOS reset routine should handle gateA20. >I've been reluctant to suggest this since I don't know a) how easy it >would be to do a 'quick and dirty' switch back to real mode, b) if it's Very easy :-). The bootstrap does it for every keystroke. Paging complicates things a bit but all ix86 manuals document the procedure in detail. >even _possible_ to switch back to real mode this late in the game, >c) whether or not the BIOS reset call exists or if it's just a figment >of my imagination or d) if it does exist, does it reset the system >correctly (i.e. will it cause all hardware to be reset properly). 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. Bruce