The problem w/ a CMOS map is that beyond the first 34h bytes, the board manufacturer's BIOS is not constrained by any standard regarding the allocation of the rest of the 80h bytes of space (for 128byte CMOS). The only suggestion for an OpenBIOS initiative would be to standardize CMOS usage for any designs they support (i.e., come up with a standard MAP that all OpenBIOS implementations will support). For good software engineering, you probably want a layer of indirection between CMOS locations and actual storage offset (tokenized or handles for access) anyway, so the issue might not be that big of a deal.
For information on programming an IDE disk drive, see http://fission.dt.wdc.com/ata/ata-3/ and grab a doc, something like ata3-r6.doc.
ATA is "AT Attachment", or the name of the hardware specification which dictates how IDE drives should behave. This specification details the I/O addresses that the motherboard & drive must decode, plus the commands that the drive supports. The most notable ones from the BIOS perspective are:
RESET DRIVE IDENTIFY READ SECTOR WRITE SECTOR
BIOS supports disk access through software interrupt 13h services, or entry point 4ch in the real-mode interrupt vector table.
Some of the commands are:
Reset Drive dl = drive # (80h - primary, 81h secondary) ah = 0 (reset command)
Read sector ah = 2 ....
This Int-software callable interface is a legacy of DOS, and still used by real-mode OS loaders for contemporary OS's prior to the loading of enough of the kernel to hop into protected mode and blow away the BIOS services.
At 10:36 PM 5/25/99 -0700, Brian Smith wrote:
Hello, My name is Brian Smith and i just subscribed to your mailing list. I am really interested in how the bios interacts with an ide controller ( how to read a sector or write a sector via the controller and skip the bios). do you have any information on that if you do could you send me it. Also do you have a up to date cmos memory layout. I have gotten a couple off the internet but they are the old ones. They are good but they only cover very little of the memory layout. Again any information on these subjects would be helpful. I would also like to help you guys with your project. Im not to fimilair with what you are doing but i am interested in learning..
Thanks Brian Smith
To Unsubscribe: send mail to majordomo@freiburg.linux.de with "unsubscribe openbios" in the body of the message
- To Unsubscribe: send mail to majordomo@freiburg.linux.de with "unsubscribe openbios" in the body of the message