diff options
| author | Caleb Palmer <cnpalmer@us.ibm.com> | 2017-02-22 14:07:14 -0600 |
|---|---|---|
| committer | Zane C. Shelley <zshelle@us.ibm.com> | 2017-03-02 10:32:42 -0500 |
| commit | 490f862dce24ca0978dd1b61eeb38f91fef3a495 (patch) | |
| tree | af130c00afa6bb55842705cbf2a181f89631a900 /src/usr/diag/prdf/common/plugins | |
| parent | 552f94ffb84cd29712f71c4665cc54a65f208021 (diff) | |
| download | blackbird-hostboot-490f862dce24ca0978dd1b61eeb38f91fef3a495.tar.gz blackbird-hostboot-490f862dce24ca0978dd1b61eeb38f91fef3a495.zip | |
PRD: Update calloutMemoryMru function
Change-Id: I5386e8b9d964ecadb4554261db8cec88a480b3f3
RTC: 168770
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36886
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37282
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plugins')
| -rw-r--r-- | src/usr/diag/prdf/common/plugins/prdfLogParse_common.C | 23 | ||||
| -rw-r--r-- | src/usr/diag/prdf/common/plugins/prdfMemoryMruData.H | 6 |
2 files changed, 16 insertions, 13 deletions
diff --git a/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C b/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C index c459d12c8..bdb1372e1 100644 --- a/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C +++ b/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C @@ -52,6 +52,7 @@ //#include <prdfProcLogParse.H> TODO: RTC 136050 #include <prdfParserEnums.H> #include <prdfMemoryMruData.H> +#include <prdfBitString.H> #include <hwas/common/hwasCallout.H> @@ -764,20 +765,22 @@ bool parseExtMemMru( void * i_buffer, uint32_t i_buflen, } else { - uint8_t * buf = (uint8_t *)i_buffer; - MemoryMruData::ExtendedData extMemMru; - - extMemMru.mmMeld.u = buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]; + BitString bs( (i_buflen*8), (CPU_WORD*)i_buffer ); + uint32_t curPos = 0; - extMemMru.cardType = buf[4]; + MemoryMruData::ExtendedData extMemMru; - extMemMru.isBufDimm = (buf[5] >> 7) & 0x1; - extMemMru.isX4Dram = (buf[5] >> 6) & 0x1; - extMemMru.isValid = (buf[5] >> 5) & 0x1; + extMemMru.mmMeld.u = bs.getFieldJustify( curPos, 32 ); curPos+=32; + extMemMru.cardType = bs.getFieldJustify( curPos, 8 ); curPos+= 8; + extMemMru.isBufDimm = bs.getFieldJustify( curPos, 1 ); curPos+= 1; + extMemMru.isX4Dram = bs.getFieldJustify( curPos, 1 ); curPos+= 1; + extMemMru.isValid = bs.getFieldJustify( curPos, 1 ); curPos+= 1; - memcpy( &extMemMru.dqMapping[0], &buf[8], - sizeof(extMemMru.dqMapping) ); + for ( uint32_t i = 0; i < sizeof(extMemMru.dqMapping); i++ ) + { + extMemMru.dqMapping[i] = bs.getFieldJustify( curPos+(i*8), 8 ); + } char heading[72]; snprintf( heading, 72, "Extended MemoryMru (0x%08x)", diff --git a/src/usr/diag/prdf/common/plugins/prdfMemoryMruData.H b/src/usr/diag/prdf/common/plugins/prdfMemoryMruData.H index c32e1645e..a9a4498d3 100644 --- a/src/usr/diag/prdf/common/plugins/prdfMemoryMruData.H +++ b/src/usr/diag/prdf/common/plugins/prdfMemoryMruData.H @@ -141,9 +141,9 @@ struct ExtendedData ///< 0=otherwise. Needed just in case there ///< was a failure to gather extended data. uint32_t reserved :21; ///< Future use / nice boundary - uint8_t dqMapping[80]; ///< Centaur DQ to DIMM DQ mapping (only used - ///< when the MemoryMru contains a single - ///< IS DIMM callout). + uint8_t dqMapping[DQS_PER_DIMM]; ///< Centaur DQ to DIMM DQ mapping + ///< (only used when the MemoryMru + ///< contains a single IS DIMM callout). /** Default contructor */ ExtendedData() : |

