There are the following memory management services:
Device V86 Page Management
Service | Description |
_Assign_Device_V86_Pages | Assigns V86 pages to a virtual device. |
_DeAssign_Device_V86_Pages | Frees V86 pages. |
_Get_Device_V86_Pages_Array | Retrieves assignment arrays. |
Hook_V86_Page | Installs a page-fault callback procedure. |
Free Physical Memory Management
Service | Description |
_AddFreePhysPage | Adds free physical pages. |
_MapFreePhysReg | Maps pages into a free physical region. |
_PageResetHandlePAddr | Adds physical pages to a memory block. |
_SetFreePhysRegCalBk | Installs a free-physical-region callback. |
_UnmapFreePhysReg | Unmaps pages in a free physical region. |
_XchgFreePhysReg | Exchanges a physical address. |
GDT/LDT Management
Service | Description |
_Allocate_GDT_Selector | Allocates a GDT selector. |
_Allocate_LDT_Selector | Allocates a selector. |
_BuildDescriptorDWORDs | Builds a selector descriptor. |
_Free_GDT_Selector | Frees a GDT selector. |
_Free_LDT_Selector | Frees an LDT selector. |
_GetDescriptor | Retrieves a copy of a descriptor. |
_SetDescriptor | Sets the descriptor for a selector. |
Heap Allocation
Service | Description |
_HeapAllocate | Allocates memory from the heap. |
_HeapFree | Frees a memory block from the heap. |
_HeapGetSize | Returns the size of a heap memory block. |
_HeapReAllocate | Reallocates a heap memory block. |
Memory Management for Protected-Mode
Service | Description |
_GetV86PageableArray | Returns pageable array. |
_LinMapIntoV86 | Maps pages into V86 addresses. |
_LinPageLock | Locks pages. |
_LinPageUnLock | Unlocks pages. |
_PageCheckLinRange | Checks range of linear addresses. |
_PageDiscardPages | Discards pages. |
_SelectorMapFlat | Returns the base address of the selector. |
_SetResetV86Pageable | Modifies locking and unlocking. |
Miscellaneous Memory Management
Service | Description |
_AddInstanceItem | Add an instance item. |
_Allocate_Device_CB_Area | Allocates a control block area. |
_MapPhysToLinear | Returns the linear address of physical memory. |
Page Allocation and Management
Service | Description |
_CopyPageTable | Copies page-table entries. |
_GetAppFlatDSAlias | Returns read-only selector for flat DS. |
_GetDemandPageInfo | Retrieves information for demand paging. |
_GetFirstV86Page | Returns number of first page for V86 memory. |
_GetFreePageCount | Returns the number of free pages. |
_GetGlblRng0V86IntBase | Returns address for ring-0 V86 handlers. |
_GetLastV86Page | Returns number of last page of V86 memory. |
_GetNulPageHandle | Returns handle of system nul page. |
_GetSysPageCount | Returns count of system pages. |
_GetVMPgCount | Returns count of pages in a virtual machine. |
_ModifyPageBits | Modifies page attribute bits. |
_PageAllocate | Allocates a memory block. |
_PageFree | Frees a memory block. |
_PageGetAllocInfo | Returns allocation information. |
_PageGetSizeAddr | Returns size and address of memory block. |
_PageLock | Locks pages. |
_PageReAllocate | Reallocates a block of memory. |
_PageUnLock | Unlocks pages. |
System-Internal Memory Management
Service | Description |
_GetSetPageOutCount | Sets or returns the page-out count. |
_MMGR_Toggle_HMA | Enables or disables the HMA. |
_PageOutDirtyPages | Flushes dirty pages. |
_SetLastV86Page | Sets last page in V86 address space. |
Set_Physical_HMA_Alias | Sets the physical HMA alias. |
V86 Address Space Mapping and Allocation
Service | Description |
_Add_Global_V86_Data_Area | Adds a region to global V86 data. |
_Allocate_Global_V86_Data_Area | Allocates a global V86 data area. |
_Allocate_Temp_V86_Data_Area | Allocates a V86 memory block. |
_Free_Temp_V86_Data_Area | Frees a V86 memory block. |
_MapIntoV86 | Maps pages into V86 address. |
_PhysIntoV86 | Maps physical pages into V86 memory. |
_TestGlobalV86Mem | Tests for global V86 memory. |