table of contents
|VM_MAP_INSERT(9)||Kernel Developer's Manual||VM_MAP_INSERT(9)|
NAME¶vm_map_insert — insert an object into a map
#include <vm/vm_map.h> int
vm_map_insert(vm_map_t map, vm_object_t object, vm_ooffset_t offset, vm_offset_t start, vm_offset_t end, vm_prot_t prot, vm_prot_t max, int cow);
DESCRIPTION¶The vm_map_insert() function inserts a mapping for the entire vm_object object into the target map map. The offset argument specifies the offset into the object at which to begin mapping. The object's size should match that of the specified address range. The start and end arguments specify the bounds of the mapped object's window in the address space of map. The cow argument specifies the flags which should be propagated to the new entry, for example, to indicate that this is a copy-on-write mapping.
IMPLEMENTATION NOTES¶This function implicitly creates a new vm_map_entry by calling the internal function vm_map_entry_create(). This function may use the Giant lock to ensure that only a single thread is present in the function.
RETURN VALUES¶The vm_map_insert() function returns
KERN_SUCCESSif the mapping could be made successfully. Otherwise,
KERN_INVALID_ADDRESSwill be returned if the start of the range could not be found, or
KERN_NO_SPACEif the range was found to be part of an existing entry or if it overlaps the end of the map.
AUTHORS¶This manual page was written by Bruce M Simpson ⟨firstname.lastname@example.org⟩.
|July 19, 2003||Debian|