PCI, UDMA - simplification.
Posted: Sat Apr 24, 2010 3:52 am
Hello.
I am planning on adding an Hard Disk driver for my os, using UDMA.
although, i have not quite understood the structure of PCI devices or UDMA.
As i understand,
The bios already configures the hard disk as an PCI device, and all that is needed to do is to place my PRD Table in the Bus Master Register in the disk controller, and (somehow) place the LBA ..somewhere. (I have read "ATA/ATAPI" using DMA" but i didn't understand this part).
First, how would i know the "index" of the disk controller in the PCI Configuration spac so i can manipulate the Bus Master Register?
And where should the LBA be placed?
I would be very thankful if you could provide me with some text on this matter.
I am planning on adding an Hard Disk driver for my os, using UDMA.
although, i have not quite understood the structure of PCI devices or UDMA.
As i understand,
The bios already configures the hard disk as an PCI device, and all that is needed to do is to place my PRD Table in the Bus Master Register in the disk controller, and (somehow) place the LBA ..somewhere. (I have read "ATA/ATAPI" using DMA" but i didn't understand this part).
First, how would i know the "index" of the disk controller in the PCI Configuration spac so i can manipulate the Bus Master Register?
And where should the LBA be placed?
I would be very thankful if you could provide me with some text on this matter.