diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2016-10-27 21:40:41 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-11-04 22:41:14 -0400 |
commit | 5ff30c35122026589eb7351452d7221e6c746f69 (patch) | |
tree | 7daddee98ac3326cb45f9380fdb45091c09e585c /src/bootloader | |
parent | 2897bfc7432020a88ba0648513cff9834aa6f402 (diff) | |
download | talos-hostboot-5ff30c35122026589eb7351452d7221e6c746f69.tar.gz talos-hostboot-5ff30c35122026589eb7351452d7221e6c746f69.zip |
Boot loader support for relative HRMOR
Update the bootloader to allow different HRMORs
to be used. Reads the starting HRMOR as the base
and then loads Hostboot off of that.
Change-Id: I6d56c30b4b3ba3d7297d5988ac965e5f5a5f7fd7
RTC: 138273
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31934
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/bootloader')
-rw-r--r-- | src/bootloader/bl_start.S | 4 | ||||
-rw-r--r-- | src/bootloader/bootloader.C | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/bootloader/bl_start.S b/src/bootloader/bl_start.S index 5c6e8d79e..d1a7d5703 100644 --- a/src/bootloader/bl_start.S +++ b/src/bootloader/bl_start.S @@ -97,8 +97,8 @@ _dcbz_before_bl: li r7, 1 rotldi r7, r7, 63 ;// set bit mask for ignoring HRMOR - lis r5, 0 - addis r5, r5, 2048 ;// 128M (2048 * 0x10000) is start of HBB + mfspr r5, HRMOR ;// start of HBB is HRMOR - 2MB + subis r5, r5, 32 ;// 2M (32 * 0x10000) is start of HBB or r5, r5, r7 ;// ignore HRMOR mfspr r6, HRMOR ;// use HRMOR as start of Bootloader diff --git a/src/bootloader/bootloader.C b/src/bootloader/bootloader.C index 0f16881a3..966332460 100644 --- a/src/bootloader/bootloader.C +++ b/src/bootloader/bootloader.C @@ -47,8 +47,7 @@ namespace Bootloader{ * Pointer to location in main storage which bootloader uses as * scratch space */ - uint8_t *g_blScratchSpace = - reinterpret_cast<uint8_t*>(HBBL_SCRATCH_SPACE_ADDR); + uint8_t *g_blScratchSpace = NULL; /** Apply Secure Signature Validation function. * @@ -86,6 +85,8 @@ namespace Bootloader{ uint32_t l_errCode = PNOR::NO_ERROR; uint8_t l_tocUsed = 0; + g_blScratchSpace = reinterpret_cast<uint8_t*>(HBBL_SCRATCH_SPACE_ADDR); + // Get location of HB base code in PNOR from TOC // @TODO RTC:138268 Support multiple sides of PNOR in bootloader |