Table of Contentsvremap - remap an arbitrary physical address space into the kernel virtual address space. void * vremap(unsigned long offset, unsigned long size); vremap() becomes page aligned. Needed when the kernel wants to access high addresses directly. The physical memory is 1:1 mapped to the kernel space. Some IO cards use memory frames with addresses behind the physical memory or even use addresses higher than the size of the kernel space ( 1GB on i386 ). In this case vremap() can be used.
vremap() returns a void pointer to the virtual address of the mapped memory, and NULL on failure. vremap() will fail if no area is available in the virtual address space of the kernel, if the address wraps around the end of the is lower than the end of physical RAM , because this is already mapped to kernel space.
linux/mm/vmalloc.c
vremap() is only available in kernel 1.3.10 or newer. There is no include file with a declaration of this function, and it is not exported for use in modules.
Linus Torvalds
Table of Contents
www.fiveanddime.net