IBM 440GP 36-bit addressing

Vishwanath vishwanath at
Sat Aug 24 17:05:50 EST 2002

Hi All,

Thanks for your information. I have few more doubts.

By going through the code, I understood that ioremap64() is used for mapping
the 36-bit real address onto 32-bit effective address space. How this
mapping information is conveyed to user applications ?

If I am writing assembly instructions to access 440GP registers, do I have
to pass 36-bit real address or 32-bit effective address ?

Physical address map of 440GP provides information only about Real
addresses.  How can I convert these real addresses onto effective addresses
? Do I have to write a TLB entry regarding my addresses ?

Thanks and Regards,

----- Original Message -----
From: "Hollis Blanchard" <hollis at>
To: <linuxppc-embedded at>
Sent: Friday, August 23, 2002 8:30 PM
Subject: Re: IBM 440GP 36-bit addressing

> On Fri, 2002-08-23 at 10:00, Vishwanath wrote:
> >
> > I am new to PPC Linux. I am working on IBM 440 GP board. I am using
> > MontaVista Linux source code. I didn't understand how 36-bit addressing
> > taken care in this code. If an application has to access the a memory
> > location in SDRAM of 440 GP or its internal peripheral registers,
whether it
> > has to pass 36-bit address or normal 32-bit address.
> It's a 36-bit real address space, but 32-bit effective (aka "virtual").
> Applications, which run entirely in effective address space, have no
> reason to think about such things and require no modification.
> The kernel has to care about the real address space, mostly when you
> want to ioremap (all the on-chip peripheral addresses are higher than
> 4GB as I recall) a 36-bit real address to a 32-bit effective address so
> you can use it in the kernel (which also runs in effective mode).
> -Hollis

** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list