summaryrefslogtreecommitdiffstats
path: root/src/usr/pnor/runtime/rt_pnor.C
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2014-11-14 14:39:53 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-02-02 13:37:42 -0600
commit67c5a1ebe73f81bca1bb6608bbb8f204f0f37fa8 (patch)
tree2770690ea72f29f51ff7db676178474a25b9ced0 /src/usr/pnor/runtime/rt_pnor.C
parentf0d809efddca10be40e2e5b7a60e8c5106522c31 (diff)
downloadtalos-hostboot-67c5a1ebe73f81bca1bb6608bbb8f204f0f37fa8.tar.gz
talos-hostboot-67c5a1ebe73f81bca1bb6608bbb8f204f0f37fa8.zip
Support for Redundant Copy of HB code in PNOR
- 2 TOC's per side - side, sideless, preserved, and readOnly tags - Determine which SEEPROM side HB booted from - Modify gaurd code to not run when gaurd section DNE Change-Id: I62dd27c9aa79c3111d27e647f1b66a7c938ad6e8 RTC:109398 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14629 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/pnor/runtime/rt_pnor.C')
-rw-r--r--src/usr/pnor/runtime/rt_pnor.C11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/usr/pnor/runtime/rt_pnor.C b/src/usr/pnor/runtime/rt_pnor.C
index c43160f44..c61aa1d2d 100644
--- a/src/usr/pnor/runtime/rt_pnor.C
+++ b/src/usr/pnor/runtime/rt_pnor.C
@@ -297,7 +297,7 @@ errlHndl_t RtPnor::flush( PNOR::SectionId i_section)
}
/*******Protected Methods**************/
RtPnor::RtPnor()
-:iv_TOC_used(0)
+:iv_TOC_used(PNOR::TOC_0)
{
errlHndl_t l_err = readTOC();
if (l_err)
@@ -588,7 +588,10 @@ errlHndl_t RtPnor::readTOC ()
break;
}
- l_err = readFromDevice (l_procId, PNOR::TOC, PNOR::TOC_0_OFFSET,
+ // @TODO RTC:120733
+ // RT code needs a way to get the active side tocs vs just defaulting
+ // to SIDE_A
+ l_err = readFromDevice (l_procId, PNOR::TOC, PNOR::SIDE_A_TOC_0_OFFSET,
PAGESIZE,false,toc0Buffer);
if (l_err)
{
@@ -596,7 +599,7 @@ errlHndl_t RtPnor::readTOC ()
" for TOC0");
break;
}
- l_err = readFromDevice (l_procId, PNOR::TOC, PNOR::TOC_1_OFFSET,
+ l_err = readFromDevice (l_procId, PNOR::TOC, PNOR::SIDE_A_TOC_1_OFFSET,
PAGESIZE, false,toc1Buffer);
if (l_err)
{
@@ -605,7 +608,7 @@ errlHndl_t RtPnor::readTOC ()
break;
}
- l_err = PNOR::parseTOC(toc0Buffer, toc1Buffer, iv_TOC_used, iv_TOC,0);
+ l_err = PNOR::parseTOC(toc0Buffer, toc1Buffer, iv_TOC_used, iv_TOC, 0);
if (l_err)
{
TRACFCOMP(g_trac_pnor, "RtPnor::readTOC: parseTOC failed");
OpenPOWER on IntegriCloud