summaryrefslogtreecommitdiffstats
path: root/src/include/bootloader
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2017-05-17 11:13:32 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-05-26 10:08:21 -0400
commit52ff15cd9297e76ef146363541dba4656d75a7c4 (patch)
tree9a4fc5fa51c3a7644f05af9ecc728ee38ae60c2f /src/include/bootloader
parent5e1b4a600a87238a04cb19284e3385a4c73e80e8 (diff)
downloadtalos-hostboot-52ff15cd9297e76ef146363541dba4656d75a7c4.tar.gz
talos-hostboot-52ff15cd9297e76ef146363541dba4656d75a7c4.zip
Bootloader hangs if it can't find first TOC
Revise logic in Bootloader for locating the PNOR TOC if it cannot find the TOC at the end of PNOR or if the TOC there fails verification checks. Use the start of PNOR if it was determined, else search back through PNOR by PAGESIZE decrements. Change-Id: I51d0c0f0319bce12ec40d41df2b03f787a3964fd RTC: 164445 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40638 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include/bootloader')
-rw-r--r--src/include/bootloader/bl_pnorAccess.H12
-rw-r--r--src/include/bootloader/bootloader_trace.H8
2 files changed, 8 insertions, 12 deletions
diff --git a/src/include/bootloader/bl_pnorAccess.H b/src/include/bootloader/bl_pnorAccess.H
index 237900b0d..a9c37d1cc 100644
--- a/src/include/bootloader/bl_pnorAccess.H
+++ b/src/include/bootloader/bl_pnorAccess.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -56,8 +56,6 @@ class bl_pnorAccess
*
* @param[out] o_errCode Anything besides PNOR:NO_ERROR is an error
*
- * @param[out] o_tocUsed Tells you which table of contents was used
- *
* @param[out] o_pnorStart The MMIO address of the start of PNOR
*
* @return void
@@ -65,7 +63,6 @@ class bl_pnorAccess
static void getHBBSection(uint64_t i_pnorEnd,
PNOR::SectionData_t& o_hbbSection,
uint32_t& o_errCode,
- uint8_t& o_tocUsed,
uint64_t& o_pnorStart);
private:
@@ -85,7 +82,8 @@ static void getHBBSection(uint64_t i_pnorEnd,
* @return void
*/
static void readTOC(uint8_t i_tocBuffer[PNOR::TOC_SIZE], uint32_t & o_errCode,
- PNOR::SectionData_t * o_TOC, uint64_t& o_pnorStart, uint64_t i_pnorEnd);
+ PNOR::SectionData_t * o_TOC, uint64_t& o_pnorStart,
+ uint64_t i_pnorEnd);
/**
* @brief Find a valid TOC within specified side of pnor flash
@@ -97,14 +95,12 @@ static void readTOC(uint8_t i_tocBuffer[PNOR::TOC_SIZE], uint32_t & o_errCode,
*
* @param[out] o_errCode Anything besides PNOR:NO_ERROR is an error
*
- * @param[out] o_tocUsed Tells you which table of contents was used
- *
* @param[out] o_pnorStart The MMIO address of the start of PNOR
*
* @return void
*/
static void findTOC(uint64_t i_pnorEnd, PNOR::SectionData_t * o_TOC,
- uint32_t& o_errCode, uint8_t& o_tocUsed, uint64_t& o_pnorStart);
+ uint32_t& o_errCode, uint64_t& o_pnorStart);
};
diff --git a/src/include/bootloader/bootloader_trace.H b/src/include/bootloader/bootloader_trace.H
index df6887890..4a11dbf49 100644
--- a/src/include/bootloader/bootloader_trace.H
+++ b/src/include/bootloader/bootloader_trace.H
@@ -89,11 +89,11 @@ enum BootloaderTraces
/** Bootloader PNOR Access findTOC readTOC for TOC ONE returned */
BTLDR_TRC_PA_FINDTOC_TOC1_READTOC_RTN = 0x32,
- /** Bootloader PNOR Access findTOC handleMMIO to copy TOC TWO returned */
- BTLDR_TRC_PA_FINDTOC_TOC2_HANDLEMMIO_RTN = 0x33,
+ /** Bootloader PNOR Access findTOC use PNOR start address */
+ BTLDR_TRC_PA_FINDTOC_USE_PNOR_START = 0x33,
- /** Bootloader PNOR Access findTOC readTOC for TOC TWO returned */
- BTLDR_TRC_PA_FINDTOC_TOC2_READTOC_RTN = 0x34,
+ /** Bootloader PNOR Access findTOC adjust PNOR address */
+ BTLDR_TRC_PA_FINDTOC_ADJUST_PNOR_ADDR = 0x34,
/** Bootloader PNOR Access getHBBSection findTOC returned */
BTLDR_TRC_PA_GETHBBSECTION_FINDTOC_RTN = 0x35,
OpenPOWER on IntegriCloud