diff options
author | Marty Gloff <mgloff@us.ibm.com> | 2017-06-08 13:29:15 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-28 16:01:35 -0400 |
commit | b29154df590cec5b8fd11d5fd228332c95c8f915 (patch) | |
tree | cd42b6e43fda058ba502a1209c87d643132ea738 /src/bootloader | |
parent | ab2b3a0f07219b0a3c51b7215bb4b1b4f42deb08 (diff) | |
download | talos-hostboot-b29154df590cec5b8fd11d5fd228332c95c8f915.tar.gz talos-hostboot-b29154df590cec5b8fd11d5fd228332c95c8f915.zip |
Remove Hacks / Workarounds put in by commits 41463 and 41574
Remove hacks to set LPC and XSCOM MMIO BAR default values in Bootloader and in
data passed to Hostboot (defect SW391259).
Change-Id: I3df6accadda8a5c461d969ed38e7970bc37291c9
CQ: SW391539
CMVC-Prereq: 1026637
Depends-on: I55ca10034d7adf3e766edb4d0071f649c7c90446
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41556
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: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/bootloader')
-rw-r--r-- | src/bootloader/bootloader.C | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/bootloader/bootloader.C b/src/bootloader/bootloader.C index d7e092012..5d5fe2681 100644 --- a/src/bootloader/bootloader.C +++ b/src/bootloader/bootloader.C @@ -52,6 +52,10 @@ extern char bootloader_end_address; +// XSCOM/LPC BAR constants +const uint64_t XSCOM_BAR_MASK = 0xFF000003FFFFFFFFULL; +const uint64_t LPC_BAR_MASK = 0xFF000000FFFFFFFFULL; + namespace Bootloader{ /** @@ -129,9 +133,10 @@ namespace Bootloader{ // Copy values for MMIO BARs g_blData->blToHbData.xscomBAR - = /* (l_blConfigData->version >= MMIO_BARS_ADDED) + = ((l_blConfigData->version >= MMIO_BARS_ADDED) && + ((l_blConfigData->xscomBAR & XSCOM_BAR_MASK) == 0)) ? l_blConfigData->xscomBAR - : @fixme-RTC:149250-Remove */ MMIO_GROUP0_CHIP0_XSCOM_BASE_ADDR; + : MMIO_GROUP0_CHIP0_XSCOM_BASE_ADDR; /* lpcBAR already copied in main() */ // Only set rest of BlToHbData if SecureROM is valid @@ -296,13 +301,13 @@ namespace Bootloader{ // @TODO RTC:138268 Support multiple sides of PNOR in bootloader // Copy SBE BL shared data into BL HB shared data -/* const auto l_blConfigData = reinterpret_cast<BootloaderConfigData_t *>( + const auto l_blConfigData = reinterpret_cast<BootloaderConfigData_t *>( SBE_HB_COMM_ADDR); - @fixme-RTC:149250-Remove */ g_blData->blToHbData.lpcBAR - = /* (l_blConfigData->version >= MMIO_BARS_ADDED) + = ((l_blConfigData->version >= MMIO_BARS_ADDED) && + ((l_blConfigData->lpcBAR & LPC_BAR_MASK) == 0)) ? l_blConfigData->lpcBAR - : @fixme-RTC:149250-Remove */ MMIO_GROUP0_CHIP0_LPC_BASE_ADDR; + : MMIO_GROUP0_CHIP0_LPC_BASE_ADDR; //pnorEnd is the end of flash, which is base of lpc, plus //the offset of the FW space, plus the TOP memory address in FW space |