diff options
author | Marty Gloff <mgloff@us.ibm.com> | 2017-06-05 11:48:27 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-15 12:37:55 -0400 |
commit | 74ca835c212ecf6df1b671d18e92887f76817a48 (patch) | |
tree | 364a668174e42a0225a4b4e37123b323c1eaa617 /src/build | |
parent | cf636ad2527070d3d7da277e03ba2b394ed77a29 (diff) | |
download | talos-hostboot-74ca835c212ecf6df1b671d18e92887f76817a48.tar.gz talos-hostboot-74ca835c212ecf6df1b671d18e92887f76817a48.zip |
Fix tracing for Bootloader hangs if it can't find first TOC
Limit how many traces are done by recovery loop that walks back
through PNOR to find a valid TOC.
Use page aligned MMIO addresses.
Change-Id: Icdd41fe36fc597769af57d54049c3e457b790594
RTC: 175243
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41398
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/build')
-rw-r--r-- | src/build/debug/Hostboot/BlData.pm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/build/debug/Hostboot/BlData.pm b/src/build/debug/Hostboot/BlData.pm index 91d2f89d3..4cd80a7b9 100644 --- a/src/build/debug/Hostboot/BlData.pm +++ b/src/build/debug/Hostboot/BlData.pm @@ -104,6 +104,42 @@ sub main ::userDisplay "\n\n--------------------------------------------\n"; + my $savedAddr = $dataAddr + 66; + my $savedAddrStr = sprintf("0x%08X", $savedAddr); + my $saved = ::read8($savedAddr); + my $savedStr = sprintf("0x%02X", $saved); + + ::userDisplay "\nSaved Trace Index Address: "; + ::userDisplay $savedAddrStr; + ::userDisplay "\n\nSaved Trace Index: "; + ::userDisplay $savedStr; + ::userDisplay "\n\n--------------------------------------------\n"; + + + my $loopCntAddr = $dataAddr + 68; + my $loopCntAddrStr = sprintf("0x%08X", $loopCntAddr); + my $loopCnt = ::read32($loopCntAddr); + my $loopCntStr = sprintf("0x%08X", $loopCnt); + + ::userDisplay "\nPNOR Loop Counter Address: "; + ::userDisplay $loopCntAddrStr; + ::userDisplay "\n\nPNOR Loop Counter: "; + ::userDisplay $loopCntStr; + ::userDisplay "\n\n--------------------------------------------\n"; + + + my $pnorMmioAddr = $dataAddr + 72; + my $pnorMmioAddrStr = sprintf("0x%08X", $pnorMmioAddr); + my $pnorMmio = ::read64($pnorMmioAddr); + my $pnorMmioStr = sprintf("0x%016llX", $pnorMmio); + + ::userDisplay "\nFirst PNOR MMIO Address: "; + ::userDisplay $pnorMmioAddrStr; + ::userDisplay "\n\nFirst PNOR MMIO: "; + ::userDisplay $pnorMmioStr; + ::userDisplay "\n\n--------------------------------------------\n"; + + my $tiDataAreaAddr = $dataAddr + 80; my $tiDataAreaAddrStr = sprintf("0x%08X", $tiDataAreaAddr); ::sendIPCMsg("read-data", "$tiDataAreaAddr,48"); # TI Data Area is 48 bytes |