Question on fixup_bigphys_addr() in syslib/ibm44x_common.c

Shawn Jin shawnxjin at
Sat Apr 16 10:16:32 EST 2005


When looking into ppc440 support, I'm confused on the functionality of
fixup_bigphys_addr() in syslib/ibm44x_common.c. It's called by
ioremap() in arch/ppc/mm/pgtable.c. The prototype is as follows.
     phys_addr_t fixup_bigphys_addr(phys_addr_t addr, phys_addr_t size)

Why do we need this fixup? ioremap() takes a physical address as an
argument and maps the physical address space to virtual address space
with the specified size. Since it's already a physical address, which
is 36-bit address in the case of 440, why do we need to fix up the
ERPN? I must be missing something here.


More information about the Linuxppc-embedded mailing list