Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Mar 2005 22:04:26 -0700
From:      Scott Long <scottl@samsco.org>
To:        Maxime Henrion <mux@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/alpha/alpha busdma_machdep.c
Message-ID:  <4232785A.5050805@samsco.org>
In-Reply-To: <200503120243.j2C2hoki067520@repoman.freebsd.org>

index | next in thread | previous in thread | raw e-mail

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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4232785A.5050805>