[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: temp. mem mappings



Hi,

On Tue, Jun 05, 2001 at 01:25:27PM -0500, Timur Tabi wrote:
> ** Reply to message from cohutta <cohutta@MailAndNews.com> on Tue, 5 Jun 2001
> 13:54:15 -0400
> 
> > what is the a preferred/correct method to map and unmap memory
> > temporarily?
> 
> Allocate a virtual memory area using vmalloc and then save and modify the
> pmd/pgd/pte to point to the physical memory you want.  To unmap, just undo the
> previous steps.

ioremap() is there for exactly that purpose.  Playing with page
tables directly is most definitely frowned upon and is unlikely to
lead to portable code.  ioremap() will take a physical address and
return the new virtual address, and ioremap_nocache() additionally
specifies the memory as being uncachable (via page table flags) so
that it can be used for PCI control register remapping.

Both functions are declared in <asm/io.h> and are available on both
2.2 and 2.4.

Cheers,
 Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/