From owner-freebsd-hackers Mon Jun 29 06:31:18 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA14627 for freebsd-hackers-outgoing; Mon, 29 Jun 1998 06:31:18 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from oslo.geco-prakla.slb.com (geos01.oslo.geco-prakla.slb.com [134.32.44.131]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA14602 for ; Mon, 29 Jun 1998 06:31:04 -0700 (PDT) (envelope-from smoergrd@oslo.geco-prakla.slb.com) Received: from sunw157.oslo.Geco-Prakla.slb.com (sunw157 [192.23.231.83]) by oslo.geco-prakla.slb.com (8.8.8/8.6.9) with SMTP id PAA27108 ; Mon, 29 Jun 1998 15:30:23 +0200 (MET DST) Received: by sunw157.oslo.Geco-Prakla.slb.com (SMI-8.6/SMI-SVR4) id PAA07596; Mon, 29 Jun 1998 15:30:22 +0200 To: Josef Belkovics Cc: Dag-Erling Coidan Smørgrav , freebsd-hackers@FreeBSD.ORG Subject: Re: BROKEN_KEYBOARD_RESET References: Organization: Schlumberger Geco-Prakla X-Disclaimer: I speak only for myself. From: smoergrd@oslo.geco-prakla.slb.com (Dag-Erling Coidan Smørgrav) Date: 29 Jun 1998 15:30:22 +0200 In-Reply-To: Josef Belkovics's message of Mon, 29 Jun 1998 15:18:46 +0200 (MET DST) Message-ID: Lines: 47 X-Mailer: Gnus v5.3/Emacs 19.34 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Josef Belkovics writes: > On 29 Jun 1998, Dag-Erling Coidan Sm=F8rgrav wrote: > > smoergrd@oslo.geco-prakla.slb.com (Dag-Erling Coidan Sm=F8rgrav) writes: > > > Josef Belkovics writes: > > > > d) i will call appropritae bios function (int 19h ?) > > > No, jo do a long jump to FFFF:0 IIRC. > I don't understand well 'you do a long jump to ffff:0' (+ what means > iirc?). I suppose that if i am in real (or 'normal') cpu mode, then i can IIRC = If I Recall Correctly > do 'int ?h'. I am not interesting what 'int ?h' really does - maybe long No. int 19h is supposed to "reboot the disk system", but as often as not it's not properly implemented. Even when it is, it does not reboot the system, but simply tries to load the MBR from whatever floppy or hard disk is first in the boot sequence. This is not what you want to do, because you have no guarantee that FreeBSD has left the system in a state that is usable for the next OS. You want to perform a complete reboot, either cold or warm (the only difference I know of is that the BIOS will skip the RAM test during a warm reboot). The only way to do a warm reboot is to write 1234h to a specific address which I do not recall at this moment, and do a far jump to FFFF:0. The code at that address is usually just a trampoline which jumps to the correct (but system-specific) point in BIOS ROM. Trust me, I *know* that stuff. I grew up with DEBUG.COM and Ralf's interrupt list as my two closest friends. > jump to ffff:0 etc. (Probably long jump to ffff:0 is one from more ways > how to call bios function 'reset'.) I look at problem from my knowledge Not one of several ways, but the only way. > database about FreeBSD asembler (nothing) and about c+asm+bios under dos > (good). Apparently not complete. > I wrote mail, because i don't know FreeBSD-asembler syntax for a)= It's not 'FreeBSD-assembler syntax", but AT&T assembler syntax, upon which gas (the GNU assembler), which FreeBSD uses, is based. DES -- Dag-Erling Smørgrav - smoergrd@oslo.geco-prakla.slb.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message