From owner-freebsd-hardware@FreeBSD.ORG Wed Mar 10 14:33:11 2004 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 829E016A4CF for ; Wed, 10 Mar 2004 14:33:11 -0800 (PST) Received: from mail3.speakeasy.net (mail3.speakeasy.net [216.254.0.203]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D8E843D46 for ; Wed, 10 Mar 2004 14:33:11 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 2054 invoked from network); 10 Mar 2004 22:33:07 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 10 Mar 2004 22:33:07 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i2AMWt2B031666; Wed, 10 Mar 2004 17:33:03 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Jason Dictos Date: Wed, 10 Mar 2004 17:30:07 -0500 User-Agent: KMail/1.6 References: In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200403101730.07604.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: "'freebsd-hardware@freebsd.org'" Subject: Re: How to use int 13 while BSD is running X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Mar 2004 22:33:11 -0000 On Wednesday 10 March 2004 01:22 pm, Jason Dictos wrote: > Thanks for the reply, however I'm looking for a more DMPI style interface > while in protected mode. If we didn't need to be in protected mode, then > I'd just leave it the way it is-us booting into DR DOS and using inline > assembly to access int 13. However what we're trying to do is move to a 32 > bit kernel environment, while still retaining access to realmode > interrupts. The loader runs in protected mode. Basically, BTX is a small kernel that allows for a single protected mode task. That task can make BIOS calls, the real mode interrupt handlers are still used for device interrupts, etc. For example, see src/sys/boot/i386/libi386/biosdisk.c to see how it uses int13 to talk to the disks but from within a 32-bit protected mode app written in C. > -Jason > > -----Original Message----- > From: John Baldwin [mailto:jhb@FreeBSD.org] > Sent: Wednesday, March 10, 2004 7:52 AM > To: Jason Dictos > Cc: 'freebsd-hardware@freebsd.org' > Subject: Re: How to use int 13 while BSD is running > > On Tuesday 09 March 2004 04:24 pm, Jason Dictos wrote: > > Hello, > > > > I'm investigating what resources are out there for accessing bios > > addressable devices while BSD is up and running. The situation is > > this, currently we licenses Caldera DOS for a program we wrote which > > uses the > > int13 extensions to manipulate the systems hard drive (i.e. to recover > > partition tables and what not). This forces our application to be > > written in 16 bit mode, but it does allows us to not have to worry > > about loading any driver which would be hardware specific to access > > the hard drive. Is there any way to write a driver for BSD which would > > put the processor into real mode, therefore allowing us to use the int > > 13 api of the bios to read and write hard drives? That way we could > > package a stripped down BSD kernel which loaded our driver and gave > > our application access to hard disks without having to load any device > > driver. > > > Apologies in advance if this is the wrong mailing list, > > Look at the loader in src/sys/boot. It is a 32-bit C app that uses BIOS > calls to access the disk. It uses a psuedo-kernel called BTX to manage > interrupts in vm86 mode and run BIOS code in vm86 mode. You can probably > port your software to being a custom loader that uses boot2 to boot off of > a floppy. You can also use cdboot to boot a loader off of a CD or pxeboot > to boot a loader image over the network. The loader uses libstand which > provides several useful things like malloc/free, some basic filesystem > support, etc. > > -- > John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power > Users Use the Power to Serve" = http://www.FreeBSD.org > > ______________________________________________________________________ > This email has been scanned by the MessageLabs Email Security System. > For more information please visit http://www.messagelabs.com/email > ______________________________________________________________________ > > ______________________________________________________________________ > This email has been scanned by the MessageLabs Email Security System. > For more information please visit http://www.messagelabs.com/email > ______________________________________________________________________ -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org