diff options
Diffstat (limited to 'src/include/kernel/vmmmgr.H')
| -rw-r--r-- | src/include/kernel/vmmmgr.H | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/include/kernel/vmmmgr.H b/src/include/kernel/vmmmgr.H index 9c437fe23..5cc370e69 100644 --- a/src/include/kernel/vmmmgr.H +++ b/src/include/kernel/vmmmgr.H @@ -45,21 +45,14 @@ class VmmManager INITIAL_MEM_SIZE = 4*MEGABYTE, // 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, + PT_ALIGNMENT = 256*KILOBYTE, // Put the DMA Pages just after the Page Table MBOX_DMA_PAGES = 64, // must be <= 64 MBOX_DMA_PAGESIZE = (1 * KILOBYTE), 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, - - BLTOHB_DATA_START = END_RESERVED_PAGE, - // Tells processor to ignore HRMOR FORCE_PHYS_ADDR = 0x8000000000000000, }; @@ -220,6 +213,20 @@ class VmmManager */ static uint64_t pageTableOffset(); + /** @fn BlToHbPreserveDataOffset() + * @brief Gets starting address of BltoHB preserved data area + * + * @return uint64_t - starting address of VMM area + */ + static uint64_t BlToHbPreserveDataOffset(); + + /** @fn endPreservedOffset() + * @brief Gets ending address of preserved data area + * + * @return uint64_t - ending address of VMM preserved area + */ + static uint64_t endPreservedOffset(); + protected: VmmManager(); ~VmmManager() {}; @@ -282,6 +289,12 @@ class VmmManager /** See pageTableOffset */ uint64_t _pageTableOffset() const; + /** See BlToHbPreserveDataOffset */ + uint64_t _BlToHbPreserveDataOffset() const; + + /** See endPreservedOffset */ + uint64_t _endPreservedOffset() const; + public: friend class Block; friend class StackSegment; |

