# Unit vmemorymanager Description Uses Classes, Interfaces, Objects and Records Functions and Procedures Types Constants Variables ## Description `VMemoryManager` - Virtual Memory Management. ## Uses util pmemorymanager console tracer ## Overview ### Functions and Procedures
`procedure init;`
`function new_page(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 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 Kieron Morris <kjm@kieronmorris.me> Generated by PasDoc 0.15.0.