On Wed, 27 Aug 2008 20:47:24 -0700 vb <[EMAIL PROTECTED]> wrote: > On Wed, Aug 27, 2008 at 8:12 PM, Roland Dreier <[EMAIL PROTECTED]> wrote: > > OK, please try this and let me know if it helps: > > > > diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c > > index 1c93c25..98d7bf9 100644 > > --- a/arch/powerpc/mm/mem.c > > +++ b/arch/powerpc/mm/mem.c > > @@ -75,11 +75,10 @@ static inline pte_t *virt_to_kpte(unsigned long vaddr) > > > > int page_is_ram(unsigned long pfn) > > { > > - unsigned long paddr = (pfn << PAGE_SHIFT); > > - > > #ifndef CONFIG_PPC64 /* XXX for now */ > > - return paddr < __pa(high_memory); > > + return pfn < max_pfn; > > #else > > + unsigned long paddr = (pfn << PAGE_SHIFT); > > int i; > > for (i=0; i < lmb.memory.cnt; i++) { > > unsigned long base; > > > > Ronald, thank you for the hint, I actually tried something slightly > different: > > return pfn < (__pa(high_memory) >> PAGE_SHIFT); > > and it worked. I guess your fix is faster, I'll try it tomorrow. > > I also checked that the problem is there in the top of the tree in > Linus' git - isn't it amazing - I guess very few people use mmap() > nowadays, everybody must be using UIO device :-)
No, most people use device drivers in the kernel. josh _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded