[Geekos-devel] Re: IDE driver details
Status: Pre-Alpha
Brought to you by:
daveho
From: David H. <da...@cs...> - 2002-01-29 16:58:05
|
Hi Vishal, On Tue, Jan 29, 2002 at 04:41:19AM -0800, Vishal Soni wrote: > Hi Dave, > > As ATA 1 standard specifies there are two modes of operation > 1. CHS-Cylinder Head Sector > 2. LBA-Logical Block Access (Drive is treated as logical array of > 512byte blocks) > > Which of the following modes u are planning to use for Virtual Memory > implementation?? > > This is necessary for me to make a C interface for the Kernel for > access. I think LBA mode would be a lot nicer to deal with than CHS. Maybe the driver could emulate LBA for drives/controllers that don't support LBA, so that the kernel API for all block devices was LBA. I must admit I really don't know a lot about hard drives (or operating systems :-), so I may not be aware of all of the issues. > We could possibly have a driver that would allow us to use LBA and CHS > mode. I am not sure what modes drives operate in VM systems, ff you have > some idea let me know. I don't think whether or not virtual memory is in use makes a difference, unless you're using DMA (which I think needs physical addresses). Just to double-check: you're working with the experimental version of GeekOS? http://geekos.sourceforge.net/experimental.html All new development will be on that version. > Write now I have modified the kernel boot up code to get some drive > parameters from BIOS Hard Disk drive parameter table. This information > is propagated to the Main() function. Good. Did you add new fields to the boot_info struct? > I have most of the stuff for ATA-1 > driver figured out. The interface C code I am planning to add to the > kernel right now would have some basic functionality of > 1. Initializing drives > 2. Read sectors/blocks > 3. Write sectors/blocks > 4. Querying drive information > 5. Seek > > and some other commands. > > I am not planning to use DMA or interrupts for this initial version of > driver. So it will be strictly Programmed I/0 achieved by communicating > at IN/OUT ports This all sounds great! Let me know if you have any other questions. Also, feel free to send email to the geekos-devel mailing list, that way everyone working on geekos will know what you're doing. -Dave |