From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3A6C7022.12506FC9@valinux.com> Date: Tue, 23 Jan 2001 04:38:42 +1100 From: Gareth Hughes MIME-Version: 1.0 To: Dan Malek CC: Michel Dänzer , Benjamin Herrenschmidt , Jeff Hartmann , linuxppc-dev@lists.linuxppc.org, dri-devel@lists.sourceforge.net, Paul Mackerras Subject: Re: [Dri-devel] PPC Lockup (ati-pcigart-branch) References: <3A686DFE.9030308@valinux.com> <19341214104258.22601@mailhost.mipsys.com> <3A68FC06.7BEEA13D@iiic.ethz.ch> <3A691166.DC6DCD81@iiic.ethz.ch> <3A6C6EEC.D1A84557@mvista.com> Content-Type: text/plain; charset=iso-8859-1 Sender: owner-linuxppc-dev@lists.linuxppc.org List-Id: Dan Malek wrote: > > Michel Dänzer wrote: > > > entry->pagelist[j]= pte_page( *pte ); > > Bzzzzt....you lose :-). > > The pte_page returns the kernel's page_struct for a physical > memory page, not the physical address which you are after...... > You ignored the compiler warning here, didn't you :-). > > Just do this: > > entry->pagelist[j] = (unsigned long)(pte_val(*pte)) & PAGE_MASK; Umm, entry->pagelist should contain a list of "struct page *"s, not physical addresses. I believe your code does not do this... -- Gareth ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/