diff options
author | Marty Gloff <mgloff@us.ibm.com> | 2017-05-23 10:09:12 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-05-31 16:09:17 -0400 |
commit | 263a2404b2ca6559925fd4796eecbfbebaf41c50 (patch) | |
tree | 03055998af92dd037303e2209930fdfd2f4436ea /src/bootloader | |
parent | e263958ff610eeee6500ef6c08c6ec07fd135afe (diff) | |
download | talos-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.C | 46 |
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 |