From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Hansen Date: Wed, 10 Aug 2005 03:06:28 +0000 Subject: Re: [PATCH] gurantee DMA area for alloc_bootmem_low() ver. 2. Message-Id: <1123643188.7069.8.camel@localhost> List-Id: References: <20050809194115.C370.Y-GOTO@jp.fujitsu.com> <20050809211501.GB6235@w-mikek2.ibm.com> In-Reply-To: <20050809211501.GB6235@w-mikek2.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Mike Kravetz Cc: Yasunori Goto , linux-mm , Andrew Morton , "Martin J. Bligh" , ia64 list , "Luck, Tony" On Tue, 2005-08-09 at 14:15 -0700, Mike Kravetz wrote: > On Tue, Aug 09, 2005 at 08:11:20PM +0900, Yasunori Goto wrote: > > I modified the patch which guarantees allocation of DMA area > > at alloc_bootmem_low(). > > I was going to replace more instances of __pa(MAX_DMA_ADDRESS) with > max_dma_physaddr(). However, when grepping for MAX_DMA_ADDRESS I > noticed instances of virt_to_phys(MAX_DMA_ADDRESS) as well. Can > someone tell me what the differences are between __pa() and virt_to_phys(). At least one is that virt_to_phys()'s argument is usually 'volatile' while __pa() is not. This, of course, varies from arch to arch. If somebody wants to go and rip __pa() out from all of the arches, I won't be especially sorry :) Actually, it would be nice to have one arch-generic version which is just the usual (vaddr - PAGE_OFFSET). That would probably take care of 80% of the individual implementations. -- Dave