diff options
Diffstat (limited to 'src/include/kernel/vmmmgr.H')
-rw-r--r-- | src/include/kernel/vmmmgr.H | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/include/kernel/vmmmgr.H b/src/include/kernel/vmmmgr.H index 84a981b24..9c437fe23 100644 --- a/src/include/kernel/vmmmgr.H +++ b/src/include/kernel/vmmmgr.H @@ -47,18 +47,16 @@ class VmmManager // Place the page table at the top side of the cache, 256k in size. INITIAL_PT_OFFSET = INITIAL_MEM_SIZE - 1*MEGABYTE, PTSIZE = 256*KILOBYTE, - HTABORG_OFFSET = INITIAL_PT_OFFSET, // Put the DMA Pages just after the Page Table MBOX_DMA_PAGES = 64, // must be <= 64 MBOX_DMA_PAGESIZE = (1 * KILOBYTE), - MBOX_DMA_ADDR = INITIAL_PT_OFFSET + PTSIZE, MBOX_DMA_SIZE = MBOX_DMA_PAGES * MBOX_DMA_PAGESIZE, /** We need to reserve a hole in heap memory for the page table, * etc. Use these constants to define the hole. */ FIRST_RESERVED_PAGE = INITIAL_PT_OFFSET, - END_RESERVED_PAGE = INITIAL_PT_OFFSET + PTSIZE + MBOX_DMA_SIZE, + END_RESERVED_PAGE = INITIAL_PT_OFFSET + PTSIZE, BLTOHB_DATA_START = END_RESERVED_PAGE, @@ -215,6 +213,13 @@ class VmmManager */ static int mmLinearMap(void *i_paddr, uint64_t i_size); + /** @fn pageTableOffset() + * @brief Gets starting address of Page Table + * + * @return uint64_t - starting address of Page Table + */ + static uint64_t pageTableOffset(); + protected: VmmManager(); ~VmmManager() {}; @@ -274,6 +279,9 @@ class VmmManager /** See mmLinearMap */ int _mmLinearMap(void*, uint64_t); + /** See pageTableOffset */ + uint64_t _pageTableOffset() const; + public: friend class Block; friend class StackSegment; |