diff options
| author | Dean Sanner <dsanner@us.ibm.com> | 2017-04-20 13:03:13 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-05-05 13:57:04 -0400 |
| commit | c8bfa9011f04d9969fe1dcea056bea148bcd8b70 (patch) | |
| tree | 3338df2baebaceed7d8e5ab8bf6d33633fec47ae /src | |
| parent | 7f00c4651a9c7d4150fd5c7f91c3b2ca7701c05f (diff) | |
| download | blackbird-hostboot-c8bfa9011f04d9969fe1dcea056bea148bcd8b70.tar.gz blackbird-hostboot-c8bfa9011f04d9969fe1dcea056bea148bcd8b70.zip | |
Apply RINGOVD to SBE image prior to core data
-SBE is tight on space and if ALL core data is applied
then ring override section doesn't fit. Since this is
debug only, apply ring overrides to the base and let
code winnow down the boot cores to fit constraints
Change-Id: Ic0338e94b65d0481c51aac1dfa42f1c95abc9a4c
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39496
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@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')
| -rw-r--r-- | src/usr/sbe/sbe_update.C | 53 | ||||
| -rw-r--r-- | src/usr/sbe/sbe_update.H | 4 |
2 files changed, 30 insertions, 27 deletions
diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C index 8d045a85b..71471217f 100644 --- a/src/usr/sbe/sbe_update.C +++ b/src/usr/sbe/sbe_update.C @@ -932,8 +932,6 @@ namespace SBE TRACFCOMP( g_trac_sbe, INFO_MRK"ringOvd():Valid overrides, applying them"); - // Hard coded value, pass in 2KB max - uint32_t RING_OVD_SIZE = 0x800; FAPI_INVOKE_HWP(l_err,p9_xip_section_append, (void *)l_pnorRingOvd.vaddr, RING_OVD_SIZE, @@ -1049,31 +1047,6 @@ namespace SBE // Check for no error and use of input cores if ( (NULL == err) && (procIOMask == coreMask)) { - // Check if we have a valid ring override section and - // append it in if so - uint32_t l_ovdImgSize = static_cast<uint32_t>(i_maxImgSize); - err = ringOvd(io_imgPtr,l_ovdImgSize); - if(err) - { - TRACFCOMP( g_trac_sbe, - ERR_MRK"procCustomizeSbeImg(): " - "Error in call to ringOvd!"); - break; - } - // If it's larger then the original size then we added some - // overrides - if(l_ovdImgSize > tmpImgSize) - { - // We added an override so adjust tmpImgSize - TRACFCOMP( g_trac_sbe, - INFO_MRK"procCustomizeSbeImg(): We added some " - "ring overrides, initial image size:%u " - "new image size:%u", - tmpImgSize, l_ovdImgSize); - - tmpImgSize = l_ovdImgSize; - } - // Procedure was successful procedure_success = true; @@ -1934,6 +1907,32 @@ namespace SBE break; } + /*******************************************/ + /* Append RINGOVD Image from PNOR to SBE */ + /*******************************************/ + // Check if we have a valid ring override section and + // append it in if so + uint32_t l_ovdImgSize = + static_cast<uint32_t>(sbeHbblImgSize+RING_OVD_SIZE); + err = ringOvd(sbeHbblImgPtr,l_ovdImgSize); + if(err) + { + TRACFCOMP( g_trac_sbe, + ERR_MRK"procCustomizeSbeImg(): " + "Error in call to ringOvd!"); + break; + } + + //If it's larger than the original size then we added some overrides + if(l_ovdImgSize > sbeHbblImgSize) + { + TRACFCOMP( g_trac_sbe, + INFO_MRK"procCustomizeSbeImg(): We added some " + "ring overrides, initial image size:%u " + "new image size:%u", + sbeHbblImgSize, l_ovdImgSize); + } + /*******************************************/ /* Customize SBE/HBBL Image and */ diff --git a/src/usr/sbe/sbe_update.H b/src/usr/sbe/sbe_update.H index d4ed02717..7257fb062 100644 --- a/src/usr/sbe/sbe_update.H +++ b/src/usr/sbe/sbe_update.H @@ -85,6 +85,10 @@ namespace SBE // (PERV_SB_CS_SCOM 0x00050008 or PERV_SB_CS_FSI 0x2808) const uint64_t SBE_BOOT_SELECT_MASK = 0x0000400000000000; + // Hard coded value, pass in 2KB max + const uint32_t RING_OVD_SIZE = 0x800; + + // PNOR SBE and SBEC Partition constants const uint32_t MAX_SBE_ENTRIES = 9; const uint32_t SBETOC_EYECATCH = 0x53424500; //'SBE\0' |

