cvs commit: src/sys/alpha/alpha busdma_machdep.c

Scott Long scottl at samsco.org
Fri Mar 11 21:06:53 PST 2005


Maxime Henrion wrote:
> mux         2005-03-12 02:43:50 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/alpha/alpha      busdma_machdep.c 
>   Log:
>   Fix a long-standing bug in alpha's implementation of busdma.  We need to
>   OR the physical address with alpha_XXX_dmamap_or to get the DMA address,
>   like the name of the variable suggests.  However, while we were doing
>   this correctly in the alpha_XXX_dmamap() macro, the busdma code added
>   the variable to the physical address instead of or'ing it.  Fortunately
>   and if my math is not entirely wrong, you would need more than 128GB of
>   RAM and a device able to do DMA in 64bits to experience the bug.
>   
>   Spotted by:     cognet
>   
>   Revision  Changes    Path
>   1.50      +4 -4      src/sys/alpha/alpha/busdma_machdep.c

You're aware that we don't correctly support the Alpha IOMMU, so we are 
limited to 2GB or so of physical RAM anyways.

Scott


More information about the cvs-all mailing list