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>