On Sat, 2006-03-11 at 14:28 +0100, Gerhard Pircher wrote: > > --- Ursprüngliche Nachricht --- > > Von: Benjamin Herrenschmidt <[EMAIL PROTECTED]> > > An: Gerhard Pircher <[EMAIL PROTECTED]> > > Kopie: [EMAIL PROTECTED], debian-powerpc@lists.debian.org > > Betreff: Re: Unmapping pages from the linear addressing > > without HIGHMEM support > > Datum: Sat, 11 Mar 2006 10:13:30 +1100 > > > > > That would mean I cannot reuse the code in dma-mapping.c, right? > > > Killing the BAT mappings or limiting the memory size covered by the > > > BATs seems to be fairly easy, but I guess I have to setup my own page > > > table for the reserved DMA memory area and implement my own > > > alloc_pages() function!? > > > > No, just limit the size of the BAT mapping and mark some of the top > > pages of the address space reserved... That should be enough. > > > Okay, I will try that first. Marking some of the pages as reserved sounds > like the code you implemented for the uninorth_agp driver with this > "agp_special_page". I guess I still have to modify the code in dma_mapping.c > to use the reserved address space for the consistent memory allocation > (CONSISTENT_BASE, CONSISTENT_END)?
Probably. I'm not sure about that code, I think those CONSISTENT_BASE/END are only virtual addresses, the code still alocates real pages below that from anywhere in memory, you may have to change that, or maybe just 1:1 map that reserved area non-cacheable, and change dma-mapping.c to not allocate any physical pages but just pick the one matching the virtual ones it just allocated...; Ben. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]