VM_MAP_INSERT(9) MidnightBSD Kernel Developer’s Manual VM_MAP_INSERT(9)

NAME

vm_map_insert — insert an object into a map

SYNOPSIS

#include <sys/param.h>
#include <vm/vm.h>
#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_SUCCESS if the mapping could be made successfully.

Otherwise, KERN_INVALID_ADDRESS will be returned if the start of the range could not be found, or KERN_NO_SPACE if the range was found to be part of an existing entry or if it overlaps the end of the map.

SEE ALSO

vm_map(9)

AUTHORS

This manual page was written by Bruce M Simpson 〈bms@spc.org〉.

MidnightBSD 0.3 July 19, 2003 MidnightBSD 0.3