NAME
vm_unbind_root
SYNOPSIS
#include <charm.h>
Status vm_unbind_root( int arena_id, Cap arenacap, int pfn, Cap bindcap, bool use_hashing);
PARAMETERS
arena_id Specifies the arena from which the root page table is being removed.
arenacap The manage capability associated with the arena denoted by arena_id.
pfn Specifies the physical page frame containing the root page table.
bindcap Specifies the capability associated with pfn.
use_hashing Specifies that hashing is to be used when the page is unmapped (see below).
DESCRIPTION
If use_hashing is true, the kernel will calculate a hash code for the page before it is unmapped. This hash code is stored in a kernel data structure associated with the arena. This mechanism provides an efficient means to remove and later reinstate a root page table (containing valid bindings). Without this mechanism, any extant bindings on the page would need to be recreated whenever the page was rebound. (c.f. vm_bind_root)
RETURN VALUES
Upon the successful completion, the vm_unbind_root() function returns [SUCCESS].
ERRORS
If the vm_unbind_root() function fails, a Status is returned that corresponds to one of the following values:
[NO_SUCH_ARENA] The arena_id parameter is not valid (out of range).
[ARENA_CAP_INVALID] The arena_cap parameter specifies a capability that does not match the current authorisation capability associated with the arena.
others...?RELATED INFORMATION
vm_bind_root(), vm_bind_l1(), vm_bind_l2().
last updated: 7/9/99