Unit vmemorymanager

Uses
Classes, Interfaces, Objects and Records
Constants

Description

VMemoryManager - Virtual Memory Management.

Overview

Functions and Procedures

procedure init;
function new_page(page_number : uint16) : boolean;
function page_mappable(page_number : uint16) : boolean;
function map_page(page_number : uint16; block : uint16) : boolean;
function map_page_ex(page_number : uint16; block : uint16; PD : PPageDirectory) : boolean;
function new_page_at_address(address : uint32) : boolean;
procedure free_page(page_number : uint16);
procedure free_page_at_address(address : uint32);
function new_page_directory: uint32;
function new_kernel_mapped_page_directory: uint32;
function vtop(address : uint32) : uint32;

Types

PPageDirEntry = ˆTPageDirEntry;
TPageDirEntry = bitpacked record Present, Writable, UserMode, WriteThrough, NotCacheable, Accessed, Reserved, PageSize, GlobalPage: Boolean; Available: UBit3; Address: UBit20; end;
TPageDirectory = Array[0..1023] of TPageDirEntry;
PPageDirectory = ˆTPageDirectory;

Variables

KERNEL_PAGE_DIRECTORY: PPageDirectory;
PageDirectory: PPageDirectory;

Description

Functions and Procedures

procedure init;
 
function new_page(page_number : uint16) : boolean;
 
function page_mappable(page_number : uint16) : boolean;
 
function map_page(page_number : uint16; block : uint16) : boolean;
 
function map_page_ex(page_number : uint16; block : uint16; PD : PPageDirectory) : boolean;
 
function new_page_at_address(address : uint32) : boolean;
 
procedure free_page(page_number : uint16);
 
procedure free_page_at_address(address : uint32);
 
function new_page_directory: uint32;
 
function new_kernel_mapped_page_directory: uint32;
 
function vtop(address : uint32) : uint32;
 

Types

PPageDirEntry = ˆTPageDirEntry;
 
TPageDirEntry = bitpacked record Present, Writable, UserMode, WriteThrough, NotCacheable, Accessed, Reserved, PageSize, GlobalPage: Boolean; Available: UBit3; Address: UBit20; end;
 
TPageDirectory = Array[0..1023] of TPageDirEntry;
 
PPageDirectory = ˆTPageDirectory;
 

Variables

KERNEL_PAGE_DIRECTORY: PPageDirectory;
 
PageDirectory: PPageDirectory;
 

Author


Generated by PasDoc 0.16.0.