summaryrefslogtreecommitdiffstats
path: root/src/usr/util
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2018-09-17 02:10:38 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-09-27 08:32:19 -0500
commitbd440419c808094ad21238f3a0f4637cd300427b (patch)
treeee362869150db14fef182d380b59ad8dde981fe4 /src/usr/util
parentdd91bd34b1896c2e62c692890b5bf630d2276484 (diff)
downloadtalos-hostboot-bd440419c808094ad21238f3a0f4637cd300427b.tar.gz
talos-hostboot-bd440419c808094ad21238f3a0f4637cd300427b.zip
STOP API: Changes for SMF and SPR self save
Commit accomplishes following: - Implementation of new self restore region memory layout - Restore of SPRs pertaining to SMF - Self save of SPRs - Backward compatibility with old self restore layout Key_Cronus_Test=PM_REGRESS Change-Id: I11359e392102d32896251225907eb95a43ba6f78 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66212 Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66216 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/util')
-rw-r--r--src/usr/util/runtime/rt_cmds.C30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/usr/util/runtime/rt_cmds.C b/src/usr/util/runtime/rt_cmds.C
index 4ce0f9a11..bab3a85d4 100644
--- a/src/usr/util/runtime/rt_cmds.C
+++ b/src/usr/util/runtime/rt_cmds.C
@@ -830,9 +830,9 @@ int cmd_reload_pm_complex( char*& o_output, uint64_t stopAt )
}
UTIL_FT("%d: memcpy(%p, %p, %ld)", l_chip, coreThreadRestoreBEFORE,
- l_virt_addr->coreThreadRestore, coreThreadRestoreSize);
+ l_virt_addr->iv_coreThreadRestore, coreThreadRestoreSize);
sprintf( l_tmpstr, "%d: memcpy(%p, %p, %ld)\n", l_chip,
- coreThreadRestoreBEFORE, l_virt_addr->coreThreadRestore,
+ coreThreadRestoreBEFORE, l_virt_addr->iv_coreThreadRestore,
coreThreadRestoreSize );
strcat( o_output, l_tmpstr );
if (stopAt == 1)
@@ -840,7 +840,7 @@ int cmd_reload_pm_complex( char*& o_output, uint64_t stopAt )
break;
}
memcpy( coreThreadRestoreBEFORE,
- l_virt_addr->coreThreadRestore,
+ l_virt_addr->iv_coreThreadRestore,
coreThreadRestoreSize);
// RUN LOAD_PM_COMPLEX
@@ -876,7 +876,7 @@ int cmd_reload_pm_complex( char*& o_output, uint64_t stopAt )
// NOW COMPARE THE TWO SNAPSHOTS
uint8_t lastMatch = memcmp(coreThreadRestoreBEFORE,
- l_virt_addr->coreThreadRestore,
+ l_virt_addr->iv_coreThreadRestore,
coreThreadRestoreSize);
// Both sections should be equal as
// hostboot should NOT touch this section of memory
@@ -892,25 +892,25 @@ int cmd_reload_pm_complex( char*& o_output, uint64_t stopAt )
for (int y = 0; y < MAX_THREADS_PER_CORE; y++)
{
// Check for non-zero threadArea
- if ( 0 != memcmp(&(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->threadArea),
- &zeroedSprArea.threadArea,
- sizeof(zeroedSprArea.threadArea)))
+ if ( 0 != memcmp(&(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->iv_threadArea),
+ &zeroedSprArea.iv_threadArea,
+ sizeof(zeroedSprArea.iv_threadArea)))
{
UTIL_FT("Found non-zero value in row %d, column %d threadArea", x, y);
UTIL_FBIN("Thread Area",
- &(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->threadArea),
- sizeof(zeroedSprArea.threadArea));
+ &(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->iv_threadArea),
+ sizeof(zeroedSprArea.iv_threadArea));
foundNonZero = true;
}
// Check for non-zero coreArea
- if ( 0 != memcmp(&(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->coreArea),
- &zeroedSprArea.coreArea,
- sizeof(zeroedSprArea.coreArea)))
+ if ( 0 != memcmp(&(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->iv_coreArea),
+ &zeroedSprArea.iv_coreArea,
+ sizeof(zeroedSprArea.iv_coreArea)))
{
UTIL_FT("Found non-zero value in row %d, column %d coreArea", x, y);
UTIL_FBIN("Core Area",
- &(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->coreArea),
- sizeof(zeroedSprArea.coreArea));
+ &(((stopImageSection::SprRestoreArea_t*)((char*)coreThreadRestoreBEFORE + (sizeof(zeroedSprArea)*x + sizeof(zeroedSprArea)*y)))->iv_coreArea),
+ sizeof(zeroedSprArea.iv_coreArea));
foundNonZero = true;
}
}
@@ -935,7 +935,7 @@ int cmd_reload_pm_complex( char*& o_output, uint64_t stopAt )
strcat( o_output, l_tmpstr );
UTIL_FBIN("BEFORE coreThreadRestore", &coreThreadRestoreBEFORE, coreThreadRestoreSize);
- UTIL_FBIN("AFTER coreThreadRestore", l_virt_addr->coreThreadRestore, coreThreadRestoreSize);
+ UTIL_FBIN("AFTER coreThreadRestore", l_virt_addr->iv_coreThreadRestore, coreThreadRestoreSize);
}
}
delete coreThreadRestoreBEFORE;
OpenPOWER on IntegriCloud