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>
References:  <200503120243.j2C2hoki067520@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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