summaryrefslogtreecommitdiffstats
path: root/src/build
diff options
context:
space:
mode:
authorMike Jones <mjjones@us.ibm.com>2013-09-26 14:23:00 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-10-03 11:36:01 -0500
commitae03dc12f7eada2ff3766c3f8f3a3e761d1e8dbe (patch)
tree3af802a87bdaab77b8c0c55db318b64cd12d5e41 /src/build
parent6c2c08f207bcc9b31de885d57b0fba95fa13b939 (diff)
downloadtalos-hostboot-ae03dc12f7eada2ff3766c3f8f3a3e761d1e8dbe.tar.gz
talos-hostboot-ae03dc12f7eada2ff3766c3f8f3a3e761d1e8dbe.zip
Allow Hostboot Debug tools that do unaligned writes to work on Cronus
The ecmd debug framework support uses cipputmempba to write to Hostboot memory, this was changed some time ago to disallow non cache-line aligned writes. But some tools (e.g. HwpfAttrOverride) do unaligned writes and they therefore fail. Also any tool that calls a Hostboot function using CallFunc will fail because that also does unaligned writes. The emcd team changed cipputmempba to do a read-modify-write for unaligned writes if the inj mode is specified. Also a small fix to HwpfAttrOverride here, it was interpreting a decimal value (the attribute id) as hex which must be due to something changing because this used to work. Change-Id: I6535340e41d802489070bc6cffff85b9e33337db RTC: 70350 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6362 Reviewed-by: Donald E. Dahle <dedahle@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build')
-rwxr-xr-xsrc/build/debug/Hostboot/HwpfAttrOverride.pm2
-rwxr-xr-xsrc/build/debug/ecmd-debug-framework.pl2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/build/debug/Hostboot/HwpfAttrOverride.pm b/src/build/debug/Hostboot/HwpfAttrOverride.pm
index 7ab2f25d3..daff19f5b 100755
--- a/src/build/debug/Hostboot/HwpfAttrOverride.pm
+++ b/src/build/debug/Hostboot/HwpfAttrOverride.pm
@@ -629,7 +629,7 @@ sub main
# uint32_t iv_valSize; // Size of the attribute value in bytes
# };
my $addr = $overrideHeaderAddr;
- ::write32($addr, hex $attrIdVal);
+ ::write32($addr, $attrIdVal);
$addr += 4;
::write32($addr, $targType);
$addr += 4;
diff --git a/src/build/debug/ecmd-debug-framework.pl b/src/build/debug/ecmd-debug-framework.pl
index 1981d3fee..e02081eba 100755
--- a/src/build/debug/ecmd-debug-framework.pl
+++ b/src/build/debug/ecmd-debug-framework.pl
@@ -201,7 +201,7 @@ sub writeData
print $file $value;
close $file;
- my $command = sprintf("cipputmempba -cft -fb %s %x -quiet > %s",
+ my $command = sprintf("cipputmempba -cft -fb %s %x -quiet -mode inj > %s",
$filename,
$addr,
$debugfile);
OpenPOWER on IntegriCloud