summaryrefslogtreecommitdiffstats
path: root/src/build/debug/Hostboot
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2017-05-26 14:55:13 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-06-19 09:48:10 -0400
commit32fb239ad902a4df0dc715996de42830a98307b0 (patch)
tree43ef69f53d613a9cdcf4083e75fcff9c9dd850d7 /src/build/debug/Hostboot
parent8702e5d3e8832111abf44dd2ea16f24312fd773f (diff)
downloadtalos-hostboot-32fb239ad902a4df0dc715996de42830a98307b0.tar.gz
talos-hostboot-32fb239ad902a4df0dc715996de42830a98307b0.zip
Update Bootloader debug scripts to run in other environments
Bootloader debug scripts run in the Simics environment. They are being updated to run in hardware environments. Change-Id: I7bf2367ff59c2dda920cf1df922cb647f20e86f0 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41067 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: Corey V. Swenson <cswenson@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/build/debug/Hostboot')
-rw-r--r--src/build/debug/Hostboot/BlData.pm43
-rw-r--r--src/build/debug/Hostboot/BlTrace.pm16
2 files changed, 32 insertions, 27 deletions
diff --git a/src/build/debug/Hostboot/BlData.pm b/src/build/debug/Hostboot/BlData.pm
index 4cd80a7b9..83e6e2866 100644
--- a/src/build/debug/Hostboot/BlData.pm
+++ b/src/build/debug/Hostboot/BlData.pm
@@ -29,6 +29,7 @@ package Hostboot::BlData;
use Exporter;
our @EXPORT_OK = ('main');
+# Format data into 4-byte segments and 16-byte lines for display
sub formatData
{
my $data = shift;
@@ -56,31 +57,37 @@ sub main
{
::setBootloader();
- my $btLdrHrmor = 0x0000000008200000;
+ my $btLdrHrmorOffset = 0x0000000000200000;
my ($dataSym, $dataSize) = ::findSymbolAddress("Bootloader::g_blData");
if (not defined $dataSym) { ::userDisplay "Cannot find symbol.\n"; die; }
my $dataSymStr = sprintf("0x%08X", $dataSym);
+ my $dataAddr = ::read64($dataSym|$btLdrHrmorOffset);
+ my $dataAddrStr = sprintf("0x%016llX", $dataAddr);
::userDisplay "------------Bootloader Data------------";
::userDisplay "\nData Symbol Address: ";
::userDisplay $dataSymStr;
+ ::userDisplay "\nData Address: ";
+ ::userDisplay $dataAddrStr;
my ($scratchSym, $scratchSize) =
::findSymbolAddress("Bootloader::g_blScratchSpace");
if (not defined $scratchSym) { ::userDisplay "Cannot find symbol.\n"; die; }
my $scratchSymStr = sprintf("0x%08X", $scratchSym);
+ my $scratchAddr = ::read64($scratchSym|$btLdrHrmorOffset);
+ my $scratchAddrStr = sprintf("0x%016llX", $scratchAddr);
- ::userDisplay "\nScratch Space Symbol Address: ";
+ ::userDisplay "\n\nScratch Space Symbol Address: ";
::userDisplay $scratchSymStr;
+ ::userDisplay "\nScratch Space Address: ";
+ ::userDisplay $scratchAddrStr;
::userDisplay "\n--------------------------------------------\n";
- my $dataAddr = 0x0000000008208000;
-
my $traceAddr = $dataAddr;
my $traceAddrStr = sprintf("0x%08X", $traceAddr);
- ::sendIPCMsg("read-data", "$traceAddr,64"); # Trace buffer is 64 bytes
- my ($type1, $trace) = ::recvIPCMsg();
+ my $traceSize = 64;
+ my $trace = ::readData($traceAddr,$traceSize);
my $traceData = formatData($trace);
::userDisplay "\nTrace Buffer Address: ";
@@ -92,10 +99,8 @@ sub main
my $indexAddr = $dataAddr + 64;
my $indexAddrStr = sprintf("0x%08X", $indexAddr);
- ::sendIPCMsg("read-data", "$indexAddr,1"); # Trace index is 1 byte
- my ($type2, $index) = ::recvIPCMsg();
- $index =~ s/\0+//g; #strip off nulls
- my $indexStr = sprintf("0x%02X", ord($index));
+ my $index = ::read8($indexAddr);
+ my $indexStr = sprintf("0x%02X", $index);
::userDisplay "\nTrace Index Address: ";
::userDisplay $indexAddrStr;
@@ -142,8 +147,8 @@ sub main
my $tiDataAreaAddr = $dataAddr + 80;
my $tiDataAreaAddrStr = sprintf("0x%08X", $tiDataAreaAddr);
- ::sendIPCMsg("read-data", "$tiDataAreaAddr,48"); # TI Data Area is 48 bytes
- my ($type6, $tiDataArea) = ::recvIPCMsg();
+ my $tiDataAreaSize = 48;
+ my $tiDataArea = ::readData($tiDataAreaAddr,$tiDataAreaSize);
my $tiDataAreaData = formatData($tiDataArea);
::userDisplay "\nTI Data Area Address: ";
@@ -155,8 +160,8 @@ sub main
my $hbbPnorSecAddr = $dataAddr + 128;
my $hbbPnorSecAddrStr = sprintf("0x%08X", $hbbPnorSecAddr);
- ::sendIPCMsg("read-data", "$hbbPnorSecAddr,32"); # Section data is 32 bytes
- my ($type5, $hbbPnorSec) = ::recvIPCMsg();
+ my $hbbPnorSecSize = 32;
+ my $hbbPnorSec = ::readData($hbbPnorSecAddr,$hbbPnorSecSize);
my $hbbPnorSecData = formatData($hbbPnorSec);
::userDisplay "\nHBB PNOR Section Data Address: ";
@@ -168,10 +173,8 @@ sub main
my $secRomValAddr = $dataAddr + 160;
my $secRomValAddrStr = sprintf("0x%08X", $secRomValAddr);
- ::sendIPCMsg("read-data", "$secRomValAddr,1"); # Secure ROM Valid is 1 byte
- my ($type4, $secRomVal) = ::recvIPCMsg();
- $secRomVal =~ s/\0+//g; #strip off nulls
- my $secRomValStr = sprintf("0x%02X", ord($secRomVal));
+ my $secRomVal = ::read8($secRomValAddr);
+ my $secRomValStr = sprintf("0x%02X", $secRomVal);
::userDisplay "\nSecure ROM Valid Address: ";
::userDisplay $secRomValAddrStr;
@@ -182,8 +185,8 @@ sub main
my $blToHbAddr = $dataAddr + 176;
my $blToHbAddrStr = sprintf("0x%08X", $blToHbAddr);
- ::sendIPCMsg("read-data", "$blToHbAddr,89"); # BL to HB data is 89 bytes
- my ($type3, $blToHb) = ::recvIPCMsg();
+ my $blToHbSize = 89;
+ my $blToHb = ::readData($blToHbAddr,$blToHbSize);
my $blToHbData = formatData($blToHb);
::userDisplay "\nBL to HB Data Address: ";
diff --git a/src/build/debug/Hostboot/BlTrace.pm b/src/build/debug/Hostboot/BlTrace.pm
index 57890d868..27a5e6aa6 100644
--- a/src/build/debug/Hostboot/BlTrace.pm
+++ b/src/build/debug/Hostboot/BlTrace.pm
@@ -129,13 +129,15 @@ sub main
{
::setBootloader();
- my $dataAddr = 0x0000000008208000;
+ my $btLdrHrmorOffset = 0x0000000000200000;
+
+ my ($dataSym, $dataSize) = ::findSymbolAddress("Bootloader::g_blData");
+ if (not defined $dataSym) { ::userDisplay "Cannot find symbol.\n"; die; }
+ my $dataAddr = ::read64($dataSym|$btLdrHrmorOffset);
my $indexAddr = $dataAddr + 64;
- ::sendIPCMsg("read-data", "$indexAddr,1"); # Trace index is 1 byte
- my ($type1, $index) = ::recvIPCMsg();
- $index =~ s/\0+//g; #strip off nulls
- my $indexStr = sprintf("0x%02X", ord($index));
+ my $index = ::read8($indexAddr);
+ my $indexStr = sprintf("0x%02X", $index);
::userDisplay "\n------------Bootloader Trace------------";
::userDisplay "\nNext Entry Index: ";
@@ -143,8 +145,8 @@ sub main
my $traceAddr = $dataAddr;
my $traceAddrStr = sprintf("0x%08X", $traceAddr);
- ::sendIPCMsg("read-data", "$traceAddr,64"); # Trace buffer is 64 bytes
- my ($type2, $trace) = ::recvIPCMsg();
+ my $traceSize = 64;
+ my $trace = ::readData($traceAddr,$traceSize);
$trace =~ s/\0+//g; #strip off nulls
my $traceData = formatTrace($trace);
OpenPOWER on IntegriCloud