vremap
Hurricane Electric Internet Services
NAME
vremap - remap an arbitrary physical address space into
the kernel virtual address space.
SYNOPSIS
void * vremap(unsigned long offset, unsigned long size);
DESCRIPTION
vremap() remaps size bytes from the physical memory start-
ing at offset to the kernel space. offset has to be page
aligned and size 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.
RETURN VALUE
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
physical address space, if offset is not page_aligned, and
if offset is lower than the end of physical RAM , because
this is already mapped to kernel space.
SOURCES
linux/mm/vmalloc.c
BUGS/LIMITAIONS
vremap() is only available in kernel 1.3.10 or newer.
There is no include file with a declaration of this func-
tion, and it is not exported for use in modules.
AUTHOR
Linus Torvalds
Hurricane Electric Internet Services
Copyright (C) 1998
Hurricane Electric.
All Rights Reserved.