summaryrefslogtreecommitdiffstats
path: root/src/kernel/pagemgr.C
diff options
context:
space:
mode:
authorMissy Connell <missyc@us.ibm.com>2012-09-10 16:05:01 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-10-09 17:10:32 -0500
commit1bf8c6b8376efacd03e3ec62d5ded5b2be4bff39 (patch)
treec266815232142e67f15a61ffcbdf09407737f259 /src/kernel/pagemgr.C
parentfb1836fd7b1b8839815595db08ae740ec7b86347 (diff)
downloadtalos-hostboot-1bf8c6b8376efacd03e3ec62d5ded5b2be4bff39.tar.gz
talos-hostboot-1bf8c6b8376efacd03e3ec62d5ded5b2be4bff39.zip
Extend VMM to 32M
Add mmLinearMap to create block at a specified phys addr. Added iv_MaptoPhy in the block to indicate we are physically mapped block and to not apply the HRMOR. Change-Id: I75ddb19b82ae9a2035ff873edff8a34a33c74639 RTC:43401 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1846 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/kernel/pagemgr.C')
-rw-r--r--src/kernel/pagemgr.C19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/kernel/pagemgr.C b/src/kernel/pagemgr.C
index 4415cb81d..ca534efdd 100644
--- a/src/kernel/pagemgr.C
+++ b/src/kernel/pagemgr.C
@@ -388,3 +388,22 @@ void PageManagerCore::coalesce( void )
printkd("PAGEMGR low page count %ld\n", PageManager::cv_low_page_count);
}
+void PageManager::addMemory(size_t i_addr, size_t i_pageCount)
+{
+ PageManager& pmgr = Singleton<PageManager>::instance();
+ return pmgr._addMemory(i_addr, i_pageCount);
+}
+
+// add memory to the heap
+void PageManager::_addMemory(size_t i_addr, size_t i_pageCount)
+{
+ iv_heap.addMemory(i_addr,i_pageCount);
+
+ // Update statistics.
+ __sync_add_and_fetch(&iv_pagesAvail, i_pageCount);
+
+ // Update statistics.
+ __sync_add_and_fetch(&iv_pagesTotal, i_pageCount);
+
+ return;
+}
OpenPOWER on IntegriCloud