summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf/fapi2
diff options
context:
space:
mode:
authorMatt Derksen <v2cibmd@us.ibm.com>2016-09-27 15:51:18 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2016-09-29 10:06:55 -0400
commitbb143eb9bb240a400e552faf81034fd76562384d (patch)
treea4c9802191753b0cb5c5a3b29caf238e05312203 /src/import/hwpf/fapi2
parentfa4aedab816820cefc1f7c8158aed73ca69def79 (diff)
downloadtalos-hostboot-bb143eb9bb240a400e552faf81034fd76562384d.tar.gz
talos-hostboot-bb143eb9bb240a400e552faf81034fd76562384d.zip
Fix collectRegisterFfdc children reporting
Change-Id: I55ee2caa710ba5c90518feac29e99ea60c4d814a RTC:143127 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30383 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30386 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/hwpf/fapi2')
-rw-r--r--src/import/hwpf/fapi2/include/collect_reg_ffdc.H13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/import/hwpf/fapi2/include/collect_reg_ffdc.H b/src/import/hwpf/fapi2/include/collect_reg_ffdc.H
index ed23965b0..8fb3c826d 100644
--- a/src/import/hwpf/fapi2/include/collect_reg_ffdc.H
+++ b/src/import/hwpf/fapi2/include/collect_reg_ffdc.H
@@ -486,18 +486,22 @@ void collectRegFfdc(const fapi2::ffdc_t i_parent,
std::vector<uint32_t> l_cfamAddresses;
std::vector<uint64_t> l_scomAddresses;
- uint32_t l_ffdcSize = 0;
+ uint32_t l_ffdcSize = 0; // total size needed for all entries
+ uint32_t l_ffdcRegReadSize = 0; // readRegisters size addition
// call generated code to fetch the address vectors
- getAddressData(i_ffdcId, l_scomAddresses, l_cfamAddresses, l_ffdcSize);
+ getAddressData(i_ffdcId, l_scomAddresses, l_cfamAddresses, l_ffdcRegReadSize);
uint32_t l_position = 0;
+ // initialize to single readRegister entry
+ l_ffdcSize = l_ffdcRegReadSize;
+
// add the position size to the total
l_ffdcSize += sizeof(l_position);
// update size for each target
- l_ffdcSize += (l_ffdcSize * l_targets.size());
+ l_ffdcSize = (l_ffdcSize * l_targets.size());
uint8_t l_pBuf[l_ffdcSize];
@@ -534,6 +538,9 @@ void collectRegFfdc(const fapi2::ffdc_t i_parent,
readRegisters(l_parent, l_pData, l_cfamAddresses,
l_scomAddresses, l_offset);
}
+
+ // advance the pointer past readRegisters data entry
+ l_pData += l_ffdcRegReadSize;
}
FAPI_INF("collectRegFfdc. SCOM address count: %#lx", l_scomAddresses.size());
OpenPOWER on IntegriCloud