diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2014-02-17 17:29:55 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-02-27 11:38:43 -0600 |
commit | 941d3e56f1f933dba3f98c3f82fae0561a5201e7 (patch) | |
tree | f8f907280d7176c83685739ca03797eb822bbfe9 | |
parent | 0f33e04d51a9ad3e37fa40db8970f166ff84432e (diff) | |
download | blackbird-hostboot-941d3e56f1f933dba3f98c3f82fae0561a5201e7.tar.gz blackbird-hostboot-941d3e56f1f933dba3f98c3f82fae0561a5201e7.zip |
Clean up beam errors in core.
Change-Id: I695a38ae88583a052cae19b930eb53171f8fab2b
RTC:94993
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9050
Tested-by: Jenkins Server
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r-- | src/build/beam/core/assert.C | 24 | ||||
-rw-r--r-- | src/build/beam/core/heapmgr.C | 23 | ||||
-rw-r--r-- | src/build/beam/core/pagemgr.C | 24 | ||||
-rw-r--r-- | src/build/beam/core/ptmgr.C | 24 | ||||
-rw-r--r-- | src/build/beam/core/stacksegment.C | 23 | ||||
-rw-r--r-- | src/build/beam/i2c/i2c.C | 23 | ||||
-rw-r--r-- | src/build/mkrules/beam.env.mk | 11 | ||||
-rw-r--r-- | src/kernel/heapmgr.C | 2 | ||||
-rw-r--r-- | src/kernel/ptmgr.C | 4 | ||||
-rw-r--r-- | src/kernel/stacksegment.C | 46 | ||||
-rw-r--r-- | src/kernel/vmmmgr.C | 6 | ||||
-rwxr-xr-x | src/usr/i2c/i2c.C | 2 | ||||
-rw-r--r-- | src/usr/ibscom/ibscom.C | 8 | ||||
-rw-r--r-- | src/usr/intr/intrrp.C | 2 | ||||
-rw-r--r-- | src/usr/trace/compdesc.C | 5 | ||||
-rw-r--r-- | src/usr/trace/entry.H | 4 | ||||
-rw-r--r-- | src/usr/trace/runtime/rt_service.C | 4 |
17 files changed, 192 insertions, 43 deletions
diff --git a/src/build/beam/core/assert.C b/src/build/beam/core/assert.C new file mode 100644 index 000000000..83cee0318 --- /dev/null +++ b/src/build/beam/core/assert.C @@ -0,0 +1,24 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/beam/core/assert.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +>>>ERROR5___assert_d9b551657c952063 +>>>ERROR5___assert_941b08c17c952063 diff --git a/src/build/beam/core/heapmgr.C b/src/build/beam/core/heapmgr.C new file mode 100644 index 000000000..9a9cfb39f --- /dev/null +++ b/src/build/beam/core/heapmgr.C @@ -0,0 +1,23 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/beam/core/heapmgr.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +>>>MISTAKE1__coalesce_4286eea91505 diff --git a/src/build/beam/core/pagemgr.C b/src/build/beam/core/pagemgr.C new file mode 100644 index 000000000..1007dee77 --- /dev/null +++ b/src/build/beam/core/pagemgr.C @@ -0,0 +1,24 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/beam/core/pagemgr.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +>>>MISTAKE5__initialize_7639026bb95510e7 +>>>MISTAKE5__initialize_2d381016b95510e7 diff --git a/src/build/beam/core/ptmgr.C b/src/build/beam/core/ptmgr.C new file mode 100644 index 000000000..96c9c64e9 --- /dev/null +++ b/src/build/beam/core/ptmgr.C @@ -0,0 +1,24 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/beam/core/ptmgr.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +>>>MISTAKE1_getAccessType_902999ce1505 +>>>MISTAKE1_writePTE_70ad5a471505 diff --git a/src/build/beam/core/stacksegment.C b/src/build/beam/core/stacksegment.C new file mode 100644 index 000000000..04649d98b --- /dev/null +++ b/src/build/beam/core/stacksegment.C @@ -0,0 +1,23 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/beam/core/stacksegment.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +>>>ERROR8_~StackSegment_b791f4a2ac177b6 diff --git a/src/build/beam/i2c/i2c.C b/src/build/beam/i2c/i2c.C new file mode 100644 index 000000000..91e35f18b --- /dev/null +++ b/src/build/beam/i2c/i2c.C @@ -0,0 +1,23 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/beam/i2c/i2c.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +>>>MISTAKE17_i2cSetupMasters_8697e17e1505 diff --git a/src/build/mkrules/beam.env.mk b/src/build/mkrules/beam.env.mk index 71a64cccc..d5888903f 100644 --- a/src/build/mkrules/beam.env.mk +++ b/src/build/mkrules/beam.env.mk @@ -5,7 +5,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2013 +# COPYRIGHT International Business Machines Corp. 2013,2014 # # p1 # @@ -31,8 +31,10 @@ BEAMCMD = $(HOST_PREFIX)jail $(BEAMPATH)/bin/beam_compile ifdef MODULE BEAMDIR = $(ROOTPATH)/obj/beam/$(MODULE) +BEAMMODULE = $(MODULE) else BEAMDIR = $(ROOTPATH)/obj/beam/core +BEAMMODULE = core endif ## Set BEAM source files. @@ -43,7 +45,12 @@ BEAMFLAGS += --beam::source=$(ROOTPATH)/src/build/beam/compiler_c_config.tcl BEAMFLAGS += --beam::source=$(ROOTPATH)/src/build/beam/compiler_cpp_config.tcl ## point to a directory that BEAM can use for its' working files. -BEAMFLAGS += --beam::data=${BEAMDIR} +BEAMFLAGS += --beam::data=$(BEAMDIR) + +## point BEAM to the potential innocent directory for a module. +BEAM_INNOCENT = $(ROOTPATH)/src/build/beam/$(BEAMMODULE) +BEAMFLAGS += $(if $(wildcard $(BEAM_INNOCENT)), \ + --beam::user_innocent=$(BEAM_INNOCENT)) ## tell the "Edison" compiler to generate no warnings. BEAMFLAGS += --edg=--no_warnings diff --git a/src/kernel/heapmgr.C b/src/kernel/heapmgr.C index d09799a72..b9f8d4d37 100644 --- a/src/kernel/heapmgr.C +++ b/src/kernel/heapmgr.C @@ -446,7 +446,7 @@ void HeapManager::_coalesce() chunk = temp; } printkd("HeapMgr coalesced total %d\n",cv_coalesce_count); - test_pages(); /*no effect*/ // BEAM fix. + test_pages(); } void HeapManager::stats() diff --git a/src/kernel/ptmgr.C b/src/kernel/ptmgr.C index 6b6436d71..93dd2dc32 100644 --- a/src/kernel/ptmgr.C +++ b/src/kernel/ptmgr.C @@ -713,7 +713,7 @@ void PageTableManager::writePTE( PageTableEntry* i_pte, { // this should never happen because we should always go // through the delEntry() path instead - printPTE( "Stealing", i_dest ); /*no effect*/ // BEAM Fix. + printPTE( "Stealing", i_dest ); Eprintk( "**ERROR** PageTableManager::writePTE>" " Trying to steal a PTE\n" ); kassert(false); @@ -841,7 +841,7 @@ void PageTableManager::_printPT( void ) { if( pte->V == 1 ) { - printPTE( NULL, pte ); /*no effect*/ // BEAM Fix. + printPTE( NULL, pte ); } pte++; diff --git a/src/kernel/stacksegment.C b/src/kernel/stacksegment.C index fdc6c7a8f..2d15d8202 100644 --- a/src/kernel/stacksegment.C +++ b/src/kernel/stacksegment.C @@ -1,25 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/kernel/stacksegment.C $ -// -// IBM CONFIDENTIAL -// -// COPYRIGHT International Business Machines Corp. 2011 -// -// p1 -// -// Object Code Only (OCO) source materials -// Licensed Internal Code Source Materials -// IBM HostBoot Licensed Internal Code -// -// The source code for this program is not published or other- -// wise divested of its trade secrets, irrespective of what has -// been deposited with the U.S. Copyright Office. -// -// Origin: 30 -// -// IBM_PROLOG_END +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/kernel/stacksegment.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2014 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #include <assert.h> #include <util/singleton.H> @@ -58,7 +58,7 @@ StackSegment::~StackSegment() delete l_node->block; delete l_node; } - } while (l_node != NULL); /*using deallocated*/ // BEAM invalid error. + } while (l_node != NULL); } bool StackSegment::handlePageFault(task_t* i_task, uint64_t i_addr, diff --git a/src/kernel/vmmmgr.C b/src/kernel/vmmmgr.C index 223f4f4c6..941713f93 100644 --- a/src/kernel/vmmmgr.C +++ b/src/kernel/vmmmgr.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2010,2013 */ +/* COPYRIGHT International Business Machines Corp. 2010,2014 */ /* */ /* p1 */ /* */ @@ -54,7 +54,7 @@ void VmmManager::init() SegmentManager::initSLB(); v.initPTEs(); - v.initSDR1(); /*no effect*/ // BEAM Fix. + v.initSDR1(); }; @@ -63,7 +63,7 @@ void VmmManager::init_slb() VmmManager& v = Singleton<VmmManager>::instance(); SegmentManager::initSLB(); - v.initSDR1(); /*no effect*/ // BEAM Fix. + v.initSDR1(); } bool VmmManager::pteMiss(task_t* t, uint64_t effAddr, bool store) diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C index 9709026b8..606cb79bd 100755 --- a/src/usr/i2c/i2c.C +++ b/src/usr/i2c/i2c.C @@ -1498,7 +1498,7 @@ errlHndl_t i2cSetupMasters ( void ) continue; } - for( uint32_t engine = 0; /*loop doesn't iterate*/ + for( uint32_t engine = 0; engine < CENTAUR_MASTER_ENGINES; engine++ ) { diff --git a/src/usr/ibscom/ibscom.C b/src/usr/ibscom/ibscom.C index f81656002..71ea19e67 100644 --- a/src/usr/ibscom/ibscom.C +++ b/src/usr/ibscom/ibscom.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -380,7 +380,7 @@ void err_cleanup(Target* i_target, //23=MBS_FIR_MASK_REG_HOST_INBAND_WRITE_ERROR mbs_fir &= 0xFFFFFCFFFFFFFFFF; op_size = sizeof(uint64_t); - l_err = deviceOp( DeviceFW::WRITE, + tmp_err = deviceOp( DeviceFW::WRITE, i_target, &mbs_fir, op_size, @@ -412,7 +412,7 @@ void err_cleanup(Target* i_target, l_err->setSev(ERRORLOG::ERRL_SEV_INFORMATIONAL); errlCommit(l_err,IBSCOM_COMP_ID); l_err = NULL; - } + } } @@ -932,7 +932,7 @@ void enableInbandScoms( bool i_disable ) mutex_unlock(l_mutex); } - } + } } diff --git a/src/usr/intr/intrrp.C b/src/usr/intr/intrrp.C index 9b2d125ac..1f30832c2 100644 --- a/src/usr/intr/intrrp.C +++ b/src/usr/intr/intrrp.C @@ -357,7 +357,7 @@ void IntrRp::msgHandler() TRACFCOMP(g_trac_intr, "External Interrupt recieved. XIRR=%x, PIR=%x", - xirr,pir); + xirr,pir.word); // Acknowlege msg msg->data[1] = 0; diff --git a/src/usr/trace/compdesc.C b/src/usr/trace/compdesc.C index 35f4de0c5..3d8de4ac4 100644 --- a/src/usr/trace/compdesc.C +++ b/src/usr/trace/compdesc.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -95,7 +95,8 @@ namespace TRACE #ifndef __HOSTBOOT_RUNTIME // TODO: RTC 79408 // Check for special SCAN component to force enable debug trace on. - if (0 == memcmp(l_compName, "SCAN", 5)) + if (l_rc && !l_rc->iv_debugEnabled && + (0 == memcmp(l_compName, "SCAN", 5))) { TARGETING::Target* sys = NULL; TARGETING::targetService().getTopLevelTarget(sys); diff --git a/src/usr/trace/entry.H b/src/usr/trace/entry.H index 1bd47ce18..8f98468ac 100644 --- a/src/usr/trace/entry.H +++ b/src/usr/trace/entry.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -56,7 +56,7 @@ namespace TRACE ComponentDesc* comp; //< Component Descriptor for this Entry. Entry* next; //< Linked-list 'next' ptr. Entry* prev; //< Linked-list 'prev' ptr. - uint16_t committed; //< Committed status. + volatile uint16_t committed; //< Committed status. uint16_t size; //< Size of data portion. char data[0]; //< Start of 'fsp-trace' style structure. }; diff --git a/src/usr/trace/runtime/rt_service.C b/src/usr/trace/runtime/rt_service.C index e7eda7280..f5e5da27e 100644 --- a/src/usr/trace/runtime/rt_service.C +++ b/src/usr/trace/runtime/rt_service.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2013 */ +/* COPYRIGHT International Business Machines Corp. 2013,2014 */ /* */ /* p1 */ /* */ @@ -139,7 +139,7 @@ namespace TRACE memcpy(bin_output, i_td->iv_compName, compName_len); size_t output_pos = compName_len + sprintf(&bin_output[compName_len], - ":~[0x%04hx]", (int) pos); + ":~[0x%04hx]", (uint16_t) pos); for (int i = 0; i < 16; ++i) { |