diff options
author | Matt Derksen <v2cibmd@us.ibm.com> | 2016-09-27 15:51:18 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2016-09-29 10:06:55 -0400 |
commit | bb143eb9bb240a400e552faf81034fd76562384d (patch) | |
tree | a4c9802191753b0cb5c5a3b29caf238e05312203 /src/import/hwpf/fapi2 | |
parent | fa4aedab816820cefc1f7c8158aed73ca69def79 (diff) | |
download | talos-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.H | 13 |
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()); |