From 0e138b0da002197cc86f601be5b307386a5fdfab Mon Sep 17 00:00:00 2001 From: Dan Crowell Date: Tue, 20 Mar 2018 09:20:17 -0500 Subject: Modify debug framework to be build-independent During boot, Hostboot will push key pointers into memory. This allows the debug tools to find the pointers (using a known static memory address) to base memory accesses on. This replaces the existing symbol lookup that we use now. That means we don't need to have the exact symbol file for the build we're debugging against. Change-Id: I4618e15a3dc90acc3a89520a502eb818c1b4258c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56097 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- src/kernel/pagemgr.C | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/kernel/pagemgr.C') diff --git a/src/kernel/pagemgr.C b/src/kernel/pagemgr.C index 42545470a..bfc1bbf7a 100644 --- a/src/kernel/pagemgr.C +++ b/src/kernel/pagemgr.C @@ -38,6 +38,7 @@ #include #include #include +#include size_t PageManager::cv_coalesce_count = 0; @@ -205,6 +206,11 @@ uint64_t PageManager::availPages() return Singleton::instance()._availPages(); } +void PageManager::addDebugPointers() +{ + return Singleton::instance()._addDebugPointers(); +} + PageManager::PageManager() : iv_pagesAvail(0), iv_pagesTotal(0), iv_lock() { @@ -478,3 +484,16 @@ void PageManager::_addMemory(size_t i_addr, size_t i_pageCount) return; } + +void PageManager::_addDebugPointers() +{ + DEBUG::add_debug_pointer(DEBUG::PAGEMANAGER, + this, + sizeof(PageManager)); + DEBUG::add_debug_pointer(DEBUG::PAGEMANAGERLOWPAGECOUNT, + &PageManager::cv_low_page_count, + sizeof(PageManager::cv_low_page_count)); + DEBUG::add_debug_pointer(DEBUG::PAGEMANAGERCOALESCECOUNT, + &PageManager::cv_coalesce_count, + sizeof(PageManager::cv_coalesce_count)); +} -- cgit v1.2.1