ATA/ATAPI using DMA: Difference between revisions

m
Fixed some bold formatting from forum style [b] to wiki style '''
[unchecked revision][unchecked revision]
(added comment about ISA DMA)
m (Fixed some bold formatting from forum style [b] to wiki style ''')
Line 31:
That information is sent in an entirely separate way to the proper disk -- see below.)
 
The low dword is a [b]'''physical[/b]''' memory address of a data buffer. (Keep in mind on 64 bit systems that this address must fit in a dword!)
The next word is a [b]'''byte[/b]''' count (not a sector count!) of the transfer size (64K maximum per PRD transfer).
A byte count of 0 means 64K. The next word is reserved (should be 0) except for the MSB. If the MSB is set, that indicates that this PRD is the last entry in the PRDT, and the entire set of transfers is complete.
The data buffers cannot cross a 64K boundary, and must be contiguous in physical memory (ie. they can't be "virtual" data buffers).
24

edits