summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C
diff options
context:
space:
mode:
authorGregory S. Still <stillgs@us.ibm.com>2017-01-30 18:28:38 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-02-02 11:15:04 -0500
commit79b2f37bb381692fe01003fd468be967d366bdfc (patch)
tree4dd8418e35ad31640e2d98cb1ba37f4506b22511 /src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C
parent06db455b539fdb792824e3a4530cdd8981906f32 (diff)
downloadtalos-hostboot-79b2f37bb381692fe01003fd468be967d366bdfc.tar.gz
talos-hostboot-79b2f37bb381692fe01003fd468be967d366bdfc.zip
Revert "PM: Change in self sestore region for lab."
- Fix copyright on four files This reverts commit ac01a5296f3f403a3a2e186dc2d817efec7df8f6. Change-Id: Ie008a21138817c421ac9dc3d7b35ca8f9e032864 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35621 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: AMIT KUMAR <akumar3@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35627 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C')
-rwxr-xr-xsrc/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C194
1 files changed, 97 insertions, 97 deletions
diff --git a/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C b/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C
index fa13eee64..7fdc1deee 100755
--- a/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C
+++ b/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -50,48 +50,48 @@ namespace stopImageSection
*/
StopReturnCode_t isFusedMode( void* const i_pImage, bool* o_fusedMode )
{
-*o_fusedMode = false;
-StopReturnCode_t l_rc = STOP_SAVE_SUCCESS;
+ *o_fusedMode = false;
+ StopReturnCode_t l_rc = STOP_SAVE_SUCCESS;
-do
-{
- if( !i_pImage )
+ do
{
- MY_ERR( "invalid pointer to HOMER image");
- l_rc = STOP_SAVE_ARG_INVALID_IMG;
- break;
- }
+ if( !i_pImage )
+ {
+ MY_ERR( "invalid pointer to HOMER image");
+ l_rc = STOP_SAVE_ARG_INVALID_IMG;
+ break;
+ }
- HomerSection_t* pHomerDesc = ( HomerSection_t* ) i_pImage;
- HomerImgDesc_t* pHomer = (HomerImgDesc_t*)( pHomerDesc->interrruptHandler );
+ HomerSection_t* pHomerDesc = ( HomerSection_t* ) i_pImage;
+ HomerImgDesc_t* pHomer = (HomerImgDesc_t*)( pHomerDesc->interrruptHandler );
- if( SWIZZLE_8_BYTE(CPMR_MAGIC_WORD) != pHomer->cpmrMagicWord )
- {
- MY_ERR("corrupt or invalid HOMER image location 0x%016llx",
- SWIZZLE_8_BYTE(pHomer->cpmrMagicWord) );
- l_rc = STOP_SAVE_ARG_INVALID_IMG;
- break;
- }
+ if( SWIZZLE_8_BYTE(CPMR_MAGIC_WORD) != pHomer->cpmrMagicWord )
+ {
+ MY_ERR("corrupt or invalid HOMER image location 0x%016llx",
+ SWIZZLE_8_BYTE(pHomer->cpmrMagicWord) );
+ l_rc = STOP_SAVE_ARG_INVALID_IMG;
+ break;
+ }
- if( (uint8_t) FUSED_MODE == pHomer->fusedModeStatus )
- {
- *o_fusedMode = true;
- break;
- }
+ if( (uint8_t) FUSED_MODE == pHomer->fusedModeStatus )
+ {
+ *o_fusedMode = true;
+ break;
+ }
- if( (uint8_t) NONFUSED_MODE == pHomer->fusedModeStatus )
- {
- break;
- }
+ if( (uint8_t) NONFUSED_MODE == pHomer->fusedModeStatus )
+ {
+ break;
+ }
- MY_ERR("Unexpected value 0x%08x for fused mode. Bad or corrupt "
- "HOMER location", pHomer->fuseModeStatus );
- l_rc = STOP_SAVE_INVALID_FUSED_CORE_STATUS ;
+ MY_ERR("Unexpected value 0x%08x for fused mode. Bad or corrupt "
+ "HOMER location", pHomer->fuseModeStatus );
+ l_rc = STOP_SAVE_INVALID_FUSED_CORE_STATUS ;
-}
-while(0);
+ }
+ while(0);
-return l_rc;
+ return l_rc;
}
//----------------------------------------------------------------------
@@ -99,81 +99,81 @@ return l_rc;
StopReturnCode_t getCoreAndThread( void* const i_pImage, const uint64_t i_pir,
uint32_t* o_pCoreId, uint32_t* o_pThreadId )
{
-StopReturnCode_t l_rc = STOP_SAVE_SUCCESS;
-
-do
-{
- // for SPR restore using 'Virtual Thread' and 'Physical Core' number
- // In Fused Mode:
- // bit b28 and b31 of PIR give physical core and b29 and b30 gives
- // virtual thread id.
- // In Non Fused Mode
- // bit 28 and b29 of PIR give both logical and physical core number
- // whereas b30 and b31 gives logical and virtual thread id.
- bool fusedMode = false;
- uint8_t coreThreadInfo = (uint8_t)i_pir;
- *o_pCoreId = 0;
- *o_pThreadId = 0;
- l_rc = isFusedMode( i_pImage, &fusedMode );
-
- if( l_rc )
- {
- MY_ERR(" Checking Fused mode. Read failed 0x%08x", l_rc );
- break;
- }
-
- if( fusedMode )
- {
- if( coreThreadInfo & FUSED_CORE_BIT1 )
- {
- *o_pThreadId = 2;
- }
-
- if( coreThreadInfo & FUSED_CORE_BIT2 )
- {
- *o_pThreadId += 1;
- }
-
- if( coreThreadInfo & FUSED_CORE_BIT0 )
- {
- *o_pCoreId = 2;
- }
+ StopReturnCode_t l_rc = STOP_SAVE_SUCCESS;
- if( coreThreadInfo & FUSED_CORE_BIT3 )
- {
- *o_pCoreId += 1;
- }
- }
- else
+ do
{
- if( coreThreadInfo & FUSED_CORE_BIT0 )
+ // for SPR restore using 'Virtual Thread' and 'Physical Core' number
+ // In Fused Mode:
+ // bit b28 and b31 of PIR give physical core and b29 and b30 gives
+ // virtual thread id.
+ // In Non Fused Mode
+ // bit 28 and b29 of PIR give both logical and physical core number
+ // whereas b30 and b31 gives logical and virtual thread id.
+ bool fusedMode = false;
+ uint8_t coreThreadInfo = (uint8_t)i_pir;
+ *o_pCoreId = 0;
+ *o_pThreadId = 0;
+ l_rc = isFusedMode( i_pImage, &fusedMode );
+
+ if( l_rc )
{
- *o_pCoreId = 2;
+ MY_ERR(" Checking Fused mode. Read failed 0x%08x", l_rc );
+ break;
}
- if ( coreThreadInfo & FUSED_CORE_BIT1 )
+ if( fusedMode )
{
- *o_pCoreId += 1;
+ if( coreThreadInfo & FUSED_CORE_BIT1 )
+ {
+ *o_pThreadId = 2;
+ }
+
+ if( coreThreadInfo & FUSED_CORE_BIT2 )
+ {
+ *o_pThreadId += 1;
+ }
+
+ if( coreThreadInfo & FUSED_CORE_BIT0 )
+ {
+ *o_pCoreId = 2;
+ }
+
+ if( coreThreadInfo & FUSED_CORE_BIT3 )
+ {
+ *o_pCoreId += 1;
+ }
}
-
- if( coreThreadInfo & FUSED_CORE_BIT2 )
+ else
{
- *o_pThreadId = 2;
+ if( coreThreadInfo & FUSED_CORE_BIT0 )
+ {
+ *o_pCoreId = 2;
+ }
+
+ if ( coreThreadInfo & FUSED_CORE_BIT1 )
+ {
+ *o_pCoreId += 1;
+ }
+
+ if( coreThreadInfo & FUSED_CORE_BIT2 )
+ {
+ *o_pThreadId = 2;
+ }
+
+ if( coreThreadInfo & FUSED_CORE_BIT3 )
+ {
+ *o_pThreadId += 1;
+ }
}
- if( coreThreadInfo & FUSED_CORE_BIT3 )
- {
- *o_pThreadId += 1;
- }
+ MY_INF("Core Type %s", fusedMode ? "Fused" : "Un-Fused" );
+ //quad field is not affected by fuse mode
+ *o_pCoreId += 4 * (( coreThreadInfo & 0x70 ) >> 4 );
}
+ while(0);
- MY_INF("Core Type %s", fusedMode ? "Fused" : "Un-Fused" );
- //quad field is not affected by fuse mode
- *o_pCoreId += 4 * (( coreThreadInfo & 0x70 ) >> 4 );
-}
-while(0);
-
-return l_rc;
+ return l_rc;
}
#ifdef __cplusplus
OpenPOWER on IntegriCloud