summaryrefslogtreecommitdiffstats
path: root/src/bootloader/bl_pnorAccess.C
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2017-07-28 10:21:07 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-04 09:28:37 -0400
commitc252560d78ef1fbbf9b902d0238a4218e8af4642 (patch)
tree4f4f028b8419105d90602cc829549b9ce90fb434 /src/bootloader/bl_pnorAccess.C
parent8fd26d184769c8a9cc1dfeb9a34088f5adc39646 (diff)
downloadtalos-hostboot-c252560d78ef1fbbf9b902d0238a4218e8af4642.tar.gz
talos-hostboot-c252560d78ef1fbbf9b902d0238a4218e8af4642.zip
Hostboot not able to send a valid TI after corrupting HB base
Bootloader TI design is incomplete and does not set up the TI info at HBB offset 0x2000 with the magic signature or pointer to the Bootloader TI data. Change-Id: I16229fed67a2cf67322dce02f0a1b8f0b68d275f CQ: SW397043 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43941 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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/bootloader/bl_pnorAccess.C')
-rw-r--r--src/bootloader/bl_pnorAccess.C20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/bootloader/bl_pnorAccess.C b/src/bootloader/bl_pnorAccess.C
index 2d924e1a6..5a7076afd 100644
--- a/src/bootloader/bl_pnorAccess.C
+++ b/src/bootloader/bl_pnorAccess.C
@@ -193,7 +193,7 @@ void bl_pnorAccess::readTOC(uint8_t i_tocBuffer[PNOR::TOC_SIZE],
void bl_pnorAccess::findTOC(uint64_t i_pnorEnd, PNOR::SectionData_t * o_TOC,
uint32_t& o_errCode, uint64_t& o_pnorStart)
{
- uint8_t *l_tocBuffer = Bootloader::g_blScratchSpace;
+ uint8_t *l_tocBuffer = g_blScratchSpace;
//The first TOC is 1 TOC size + 1 page back from the end of the flash (+ 1)
uint64_t l_mmioAddr = i_pnorEnd - PNOR::TOC_OFFSET_FROM_TOP_OF_FLASH;
@@ -228,27 +228,23 @@ void bl_pnorAccess::findTOC(uint64_t i_pnorEnd, PNOR::SectionData_t * o_TOC,
l_mmioAddr = o_pnorStart;
// Reset saved trace index
- Bootloader::g_blData->bl_trace_index_saved =
- BOOTLOADER_TRACE_SIZE;
+ g_blData->bl_trace_index_saved = BOOTLOADER_TRACE_SIZE;
}
else
{
// Check if a trace index is not saved
- if(Bootloader::g_blData->bl_trace_index_saved >=
- BOOTLOADER_TRACE_SIZE)
+ if(g_blData->bl_trace_index_saved >= BOOTLOADER_TRACE_SIZE)
{
// Save trace index for future passes through loop
- Bootloader::g_blData->bl_trace_index_saved =
- Bootloader::g_blData->bl_trace_index;
+ g_blData->bl_trace_index_saved = g_blData->bl_trace_index;
// Save this PNOR MMIO address
- Bootloader::g_blData->bl_first_pnor_mmio = l_mmioAddr;
+ g_blData->bl_first_pnor_mmio = l_mmioAddr;
}
else // A trace index was saved
{
// Replace trace index, reuse trace entries for this loop
- Bootloader::g_blData->bl_trace_index =
- Bootloader::g_blData->bl_trace_index_saved;
+ g_blData->bl_trace_index = g_blData->bl_trace_index_saved;
}
// Adjust to new location in PNOR flash for next MMIO
@@ -256,12 +252,12 @@ void bl_pnorAccess::findTOC(uint64_t i_pnorEnd, PNOR::SectionData_t * o_TOC,
l_mmioAddr -= PAGESIZE;
// Increment loop counter
- Bootloader::g_blData->bl_pnor_loop_count++;
+ g_blData->bl_pnor_loop_count++;
}
// Check that address is still in FW space
if(l_mmioAddr <
- (Bootloader::g_blData->blToHbData.lpcBAR + LPC::LPCHC_FW_SPACE))
+ (g_blData->blToHbData.lpcBAR + LPC::LPCHC_FW_SPACE))
{
BOOTLOADER_TRACE_W_BRK(BTLDR_TRC_PA_FINDTOC_READTOC_ERR);
OpenPOWER on IntegriCloud