map iomem in linux_2_4_dev

David Gibson david at gibson.dropbear.id.au
Tue May 28 10:36:04 EST 2002


On Mon, May 27, 2002 at 04:13:05PM +0800, shaowei dai wrote:
>
> Hi, Sangmoon:
>
> Thanks. I got it. We've to use io_block_mapping() followed by ioremap() to
> map the physical address.

No, that's rubbish.  Use one or the other. ioremap() takes a physical
address and returns the virtual address at which it mapped it.

> From: "Sangmoon Kim" <dogoil at etinsys.com>
> To: "shaowei dai" <dshaowei at rfnetech.com>;
> <linuxppc-embedded at lists.linuxppc.org>
> Sent: Monday, May 27, 2002 4:13 PM
> Subject: Re: map iomem in linux_2_4_dev
>
>
> > Hi, Shaowei:
> >
> > The parameter addr of ioremap is not a virtual address
> > but a kind of physical address.
> >
> > Let us have a device at 0x78000000.
> > We can change the address to 0xf0000000 by...
> >  io_block_mapping(0xf0000000, 0x78000000, 0x08000000, _PAGE_IO);
> > Than what is the return value of ioremap(0x78000000, 0x08000000)?
> > That is 0xf0000000.
> >
> > The system changes the addresses of devices for various reason.
> > We only know the original address.
> > Than we can use the ioremap to get the changed address.
> >
> > -Sangmoon Kim-

--
David Gibson			| For every complex problem there is a
david at gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list