summaryrefslogtreecommitdiffstats
path: root/src/build
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2017-06-05 11:48:27 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-06-15 12:37:55 -0400
commit74ca835c212ecf6df1b671d18e92887f76817a48 (patch)
tree364a668174e42a0225a4b4e37123b323c1eaa617 /src/build
parentcf636ad2527070d3d7da277e03ba2b394ed77a29 (diff)
downloadtalos-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.pm36
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
OpenPOWER on IntegriCloud