summaryrefslogtreecommitdiffstats
path: root/src/bootloader
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2017-05-23 10:09:12 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-05-31 16:09:17 -0400
commit263a2404b2ca6559925fd4796eecbfbebaf41c50 (patch)
tree03055998af92dd037303e2209930fdfd2f4436ea /src/bootloader
parente263958ff610eeee6500ef6c08c6ec07fd135afe (diff)
downloadtalos-hostboot-263a2404b2ca6559925fd4796eecbfbebaf41c50.tar.gz
talos-hostboot-263a2404b2ca6559925fd4796eecbfbebaf41c50.zip
Bootloader updates to support remapped memory Final Pass
Remove TODO's and make use of updated SBE to Bootloader structure with new version and MMIO BAR fields. Change-Id: I2ec08bd1f646cc052bfc4e018128df5127be8dff RTC: 173526 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40849 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: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/bootloader')
-rw-r--r--src/bootloader/bootloader.C46
1 files changed, 30 insertions, 16 deletions
diff --git a/src/bootloader/bootloader.C b/src/bootloader/bootloader.C
index 303b14f86..40eab54a1 100644
--- a/src/bootloader/bootloader.C
+++ b/src/bootloader/bootloader.C
@@ -112,6 +112,36 @@ namespace Bootloader{
const auto l_pSecRomInfo = reinterpret_cast<const SecureRomInfo*>(
l_pRomStart);
+ // Set the MMIO BAR information as is appropriate
+ if (l_blConfigData->version >= MMIO_BARS_ADDED)
+ {
+ // Translate SBE to BL version into BL to HB version
+ switch(l_blConfigData->version)
+ {
+ // Add cases as additional versions are created
+ default:
+ g_blData->blToHbData.version = BLTOHB_MMIOBARS;
+ break;
+ }
+
+ // Copy values for MMIO BARs
+ g_blData->blToHbData.xscomBAR = l_blConfigData->xscomBAR;
+ g_blData->blToHbData.lpcBAR = l_blConfigData->lpcBAR;
+ }
+ else
+ {
+ // Use MMIO BARs version since default values are being set
+ g_blData->blToHbData.version = BLTOHB_MMIOBARS;
+
+ // Set default values for MMIO BARs
+ // @TODO RTC: 173526 or RTC: 173525
+ // Use constants MMIO_GROUP0_CHIP0_XSCOM_BASE_ADDR and
+ // MMIO_GROUP0_CHIP0_LPC_BASE_ADDR from
+ // src/include/arch/memorymap.H for setting values
+ g_blData->blToHbData.xscomBAR = 0x000603FC00000000;
+ g_blData->blToHbData.lpcBAR = 0x0006030000000000;
+ }
+
// Only set rest of BlToHbData if SecureROM is valid
if ( secureRomInfoValid(l_pSecRomInfo) )
{
@@ -120,14 +150,6 @@ namespace Bootloader{
g_blData->secureRomValid = true;
g_blData->blToHbData.eyeCatch = BLTOHB_EYECATCHER;
- if (l_blConfigData->version == BLTOHB_SAB + 1 /* MMIO_BARS_ADDED @TODO RTC:173526*/ )
- {
- g_blData->blToHbData.version = BLTOHB_MMIOBARS;
- }
- else
- {
- g_blData->blToHbData.version = BLTOHB_SAB;
- }
g_blData->blToHbData.branchtableOffset =
l_pSecRomInfo->branchtableOffset;
g_blData->blToHbData.secureRom = l_pRomStart;
@@ -140,14 +162,6 @@ namespace Bootloader{
// Set HBB header and size
g_blData->blToHbData.hbbHeader = i_pHbbSrc;
g_blData->blToHbData.hbbHeaderSize = PAGE_SIZE;
-
- // Set the MMIO BAR information if appropriate
- if (l_blConfigData->version >= BLTOHB_SAB + 1 /* MMIO_BARS_ADDED @TODO RTC:173526*/ )
- {
- g_blData->blToHbData.xscomBAR = 0x000603FC00000000 /* l_blConfigData->xscomBAR @TODO RTC:173526*/ ;
- g_blData->blToHbData.lpcBAR = 0x0006030000000000 /* l_blConfigData->lpcBAR @TODO RTC:173526*/ ;
- }
-
}
// Place structure into proper location for HB to find
OpenPOWER on IntegriCloud