Referenced Routines

The virtual memory manager exports these routines exported to kernel extensions.

Services That Manipulate Virtual Memory Objects
vm_att Selects and allocates a region in the current address space for the specified virtual memory object.
vms_create Creates virtual memory object of the specified type and size limits.
vms_delete Deletes a virtual memory object.
vm_det Unmaps and deallocates the region at a specified address in the current address space.
vm_flushp Flushes the specified range of pages.
vm_handle Constructs a virtual memory handle for mapping a virtual memory object with a specified access level.
vm_invalidatep Releases page frames in the specified range for a non-journaled persistent segment or client segment.
vm_ioaccessp Initiates asynchronous page-in or page-out for the specified range of pages .
vms_iowait, vms_iowaitf Waits for the completion of all page-out operations in the virtual memory object.
vm_makep Makes a page in client storage.
vm_move Moves data between the virtual memory object and buffer specified in the uio structure.
vm_mvc Reads or writes partial pages of files.
vm_protectp Sets the page protection key for a page range.
vm_qpages Returns the number of in-memory page frames associated with the virtual memory object.
vm_readp Initiates asynchronous page-in for the range of pages specified.
vm_releasep Releases page frames and paging space slots for pages in the specified range.
vm_segmap Creates the segments associated with a range of bytes in a file and attaches them to the kernel's address space.
vm_setdevid Modifies the paging-device table entry for a virtual memory object.
vm_uiomove Moves data between the virtual memory object and buffer specified in the uio structure.
vm_vmid Converts a virtual memory handle to a virtual memory object (id).
vm_writep Initiates page-out for a page range in a virtual memory object.

The following services support address space operations:

Item Description
vm_cflush Flushes cache lines for a specified address range.
vm_release Releases page frames and paging space slots for the specified address range.
vm_write Initiates page-out for an address range.

The following Memory-Pinning kernel services also support address space operations. They are the pin and unpin services.

Services That Support Cross-Memory Operations
Cross Memory Services are listed in "Memory Kernel Services".
Services that Support the Installation of Pager Backends
vm_mount Allocates an entry in the paging device table.
vm_umount Removes a file system from the paging device table.