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/