virt_to_phys() on 440
Matt Porter
mporter at kernel.crashing.org
Tue Sep 9 08:14:59 EST 2003
On Mon, Sep 08, 2003 at 02:36:38PM -0700, Brian Kuschak wrote:
>
> I think the virt_to_phys() function is incorrect for
> PPC440. It should call iopa for all 4xx, not only the
> 405. By chance, it happens to work currently if the
> address is in SDRAM, but is always incorrect for
> ioremapped addresses. virt_to_bus() does the right
> thing.
>
> Also, to be correct, shouldn't this function return a
> phys_addr_t rather than an unsigned long, as the
> physical address is >32 bits on 44x?
Read IO-mapping.txt and DMA-mapping.txt
PPC40x is incorrect. These APIs are valid only for system
memory kernel addresses that are staticly mapped.
Anything wanting a generic translation from virt->phys should
call iopa() directly until somebody drives a generic translation
API into the kernel.
-Matt
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list