vremap

Hurricane Electric Internet Services: Accounts starting at $9.95/month
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: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.