*BSD News Article 40909


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!uwm.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!news.cac.psu.edu!news.pop.psu.edu!hudson.lm.com!godot.cc.duq.edu!ddsw1!not-for-mail
From: chilton@MCS.COM (Christopher Hilton)
Newsgroups: comp.os.386bsd.questions
Subject: Re: Why no std BIOS INT 13 HD support for crappy HD's?
Date: 16 Jan 1995 10:08:32 -0600
Organization: /usr/lib/news/organi[sz]ation
Lines: 48
Message-ID: <3fe5m0$4si@Mars.mcs.com>
References: <3fbrnf$7bd@utrhcs.cs.utwente.nl>
NNTP-Posting-Host: mars.mcs.com

In article <3fbrnf$7bd@utrhcs.cs.utwente.nl>,
V.O.F. Roana Technologies <roana@cs.utwente.nl> wrote:
>Folks,
>
>  Please correct me if I'm wrong, but isn't it possible to write
>a generic Hard disk driver that uses interrupt 13 from the PC BIOS?
>Of course this will give lousy performance, but it seems to me that
>a lot of questions posted in this group would be over when such
>a driver existed, for users of non-standard SCSI adapters, for example.
>  Why not access them the same way Messy-DOS does? Excuse me for not
>taking an in-depth look at the kernel sources, but do these BIOS
>functions offer too little functions? or is usage of these interrupts
>impossible/unwanted in the kernel sources?

To do this you would have to switch the processor from protected mode
to real mode. This would seriously limit performance. Also, the BIOS
that you used would have to be reentrant because of the nature of the
Unix as an operating system. MS-DOS, which is more of a glorified
program loader than an operating system, doesn't require this so must
BIOSes are not reentrant. Most BIOSes don't recognize the hardware
interrupts used to signal changes of state from the hard drive but
rather poll the status registers. A disk intensive program using this
driver wouldn't be able to switch to another task while waiting for a
dsik i/o operation to complete. Such programs would hog the CPU badly
and unneccessarily. Finally, the BIOS doesn't run in protected mode,
it runs in real mode so you would only be able to read/write from/to
the first (1024+63) of memory. You could transfer memory from the real
mode buffer but it would again be slow...

The majority of people with these problems are people running the new
enhanced IDE drives. The problem is that like all new technology in
this market every company is free to implement things the way they see
fit. So right now we are in the "competing standards" stage. In about
another three months this should settle down and one standard will
win. When that happens it should be an easy thing to modify the disk
code to recognize and properly handle these drives.

C.

-- 
Christopher Sean Hilton	                       E-mail: chilton@mcs.com
----------------------------------------------------------------------
ICBM address:           | "Thus it is said if you know them and know 
  42 07 39 N/87 49 44 W | yourself, your victory will not be imperiled.
For PGP key finger:     | If you know Heaven and you know Earth, your 
     chilton@mcs.com    | victory will be complete." - Sun Tsu
----------------------------------------------------------------------