vm_page_insert(9)
NAME
- vm_page_insert, vm_page_remove - add/remove page from an ob
- ject
SYNOPSIS
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_page.h>
void
vm_page_insert(vm_page_t m, vm_object_t object, vm_pindex_t
pindex);
void
vm_page_remove(vm_page_t m);
DESCRIPTION
- The vm_page_insert() function adds a page to the given ob
- ject at the
given index. The page is added to both the VM page hash
- table and to the
object's list of pages, but the hardware page tables are not
- updated. In
the case of a user page, it will be faulted in when it is
- accessed. If
the page is a kernel page, the caller is expected to handle
- adding the
page to the kernel's pmap.
- If PG_WRITEABLE is set in the page's flags, OBJ_WRITEABLE
- and
OBJ_MIGHTBEDIRTY are set in the object's flags.
- The vm_page_remove() function removes the given page from
- its object, and
from the VM page hash table. The page must be busy prior to
- this call,
or the system will panic. The pmap entry for the page is
- not removed by
this function.
- The arguments to vm_page_insert() are:
- m The page to add to the object.
- object The object the page should be added to.
- pindex The index into the object the page should be at.
- The arguments to vm_page_remove() are:
- m The page to remove.
IMPLEMENTATION NOTES
- The index of a page in a VM object is the byte index into
- the same object
truncated to a page boundary. For example, if the page size
- is 4096
bytes, and the address in the object is 81944, the page in
- dex is 20.
AUTHORS
- This manual page was written by Chad David <davidc@ac
- ns.ab.ca>.
- BSD July 17, 2001