Date: Fri, 10 Sep 2010 00:06:46 -0700 From: Juli Mallett <jmallett@FreeBSD.org> To: "Jayachandran C." <c.jayachandran@gmail.com> Cc: gonzo@freebsd.org, freebsd-mips@freebsd.org Subject: Re: busdma_machdep.c with more than 512M memory Message-ID: <AANLkTimqCLHbqFS90wyp6h_xueV8=NnU07q28=SRK=z5@mail.gmail.com> In-Reply-To: <AANLkTimcUdL5gg6e-f3M7QLoMEP93V8TE_9HTzBYPGC8@mail.gmail.com> References: <AANLkTimjmpOBOAncY9K9AhCodvp27t=XTQ9qZp4q8%2Bvv@mail.gmail.com> <AANLkTim2gqj=cbgM35rD5oyMD43rWFY1cjyY4A4CoR99@mail.gmail.com> <AANLkTim7zDxy9bYYvPT31t-mRB37NPpONsBHhouBPpG_@mail.gmail.com> <AANLkTikOKU8KOaw6aFd1dMqpcZW%2BcMkU72mrDBcUncVq@mail.gmail.com> <AANLkTimcUdL5gg6e-f3M7QLoMEP93V8TE_9HTzBYPGC8@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 10, 2010 at 00:00, Jayachandran C. <c.jayachandran@gmail.com> wrote: > On Fri, Sep 10, 2010 at 11:22 AM, Neel Natu <neelnatu@gmail.com> wrote: >> This assumes that pmap_mapdev() always returns an uncached mapping >> which is true for n64 kernels but not for o32 kernels with memory >> beyond 512MB. > > I think my original patch was incorrect, pmap_mapdev() should not be > used to map physical memory uncached. It may be just for mapping > device address space uncached, and that may be why it checks if the > physical address is cacheable. I think that's a wrong inference from the brokenness of pmap_mapdev because of using the general-purpose pmap_kenter. pmap_mapdev is implicitly uncacheable -- check i386 pmap for confirmation. Neel's patch is right.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimqCLHbqFS90wyp6h_xueV8=NnU07q28=SRK=z5>