How to use int 13 while BSD is running
Jason Dictos
jason.dictos at yosemitetech.com
Wed Mar 10 21:52:38 PST 2004
Hello again.
I did some reading on the pentium processor manual, and I think I finally
understand what the set of vm86 functions do. They use the intel processors
virtual 8086 processor compatability mode to issue virtual interrups. My
question is now, what prevents such int 13 type interrups using the vm86
set of apis (as found in biosdisk.c, in the BTX loader code) from working
from working in a standard BSD running system?
-Jason
-----Original Message-----
From: John Baldwin
To: Jason Dictos
Cc: 'freebsd-hardware at freebsd.org'
Sent: 3/10/2004 2:30 PM
Subject: Re: How to use int 13 while BSD is running
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 at FreeBSD.org]
> Sent: Wednesday, March 10, 2004 7:52 AM
> To: Jason Dictos
> Cc: 'freebsd-hardware at 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 <jhb at FreeBSD.org> <>< 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 <jhb at FreeBSD.org> <>< 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
______________________________________________________________________
More information about the freebsd-hardware
mailing list