ide with DMA and ram > 4GB

John Baldwin jhb at freebsd.org
Thu Nov 13 12:12:15 PST 2008


On Wednesday 12 November 2008 12:23:14 pm Marc Lörner wrote:
> Hello,
> I just stepped over a problem with my IDE disk running in DMA-mode
> and having more than 4GB of RAM.
> It seems that the whole way down GEOM, ata-disk, ata-dma never is checked
> whether physical address of buffer is less than 4GB an so fits in 32bits.
> => when PRD is set the address is rigorously truncated to fit into 32bit,
>        with buffer < 4GB all is quite fine.

bus_dmamap_load() in ata-dma.c should result in bounce pages being allocated 
and having the data copied to pages below 4GB and having those addresses 
passed to the callback and stored in the PRD.

-- 
John Baldwin


More information about the freebsd-hackers mailing list