diff options
Diffstat (limited to 'src/usr/hdat/hdatmsarea.C')
| -rwxr-xr-x | src/usr/hdat/hdatmsarea.C | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/usr/hdat/hdatmsarea.C b/src/usr/hdat/hdatmsarea.C index 14736b126..ceb469828 100755 --- a/src/usr/hdat/hdatmsarea.C +++ b/src/usr/hdat/hdatmsarea.C @@ -385,12 +385,14 @@ void HdatMsArea::setMsaI2cInfo( std::vector<hdatI2cData_t> &i_I2cDevEntries ) { HDAT_ENTER(); - iv_msaI2cHdr.hdatOffset = 0x0010; // this is just header of 4 words. arrays start at 0x0010 + // this is just header of 5 words. arrays start at 0x0014 + iv_msaI2cHdr.hdatOffset = sizeof(iv_msaI2cHdr); iv_msaI2cHdr.hdatArrayCnt = i_I2cDevEntries.size(); iv_msaI2cHdr.hdatAllocSize = sizeof(hdatI2cData_t); iv_msaI2cHdr.hdatActSize = sizeof(hdatI2cData_t); + iv_msaI2cHdr.hdatVersion = HOST_I2C_DEV_INFO_VERSION::V2; iv_msaHostI2cCnt = i_I2cDevEntries.size(); - iv_msaHostI2cSize = sizeof(hdatHDIFDataArray_t) + + iv_msaHostI2cSize = sizeof(iv_msaI2cHdr) + (sizeof(hdatI2cData_t) * iv_msaHostI2cCnt); HDAT_INF("iv_msaHostI2cCnt=%d, iv_msaHostI2cSize=%d", iv_msaHostI2cCnt, iv_msaHostI2cSize); @@ -585,7 +587,7 @@ uint32_t HdatMsArea::getMsAreaSize() l_size += (iv_maxEcCnt * sizeof(hdatMsAreaEcLvl_t)); - l_size += sizeof(hdatHDIFDataArray_t); + l_size += sizeof(iv_msaI2cHdr); l_size += (sizeof(hdatI2cData_t) * iv_msaHostI2cCnt); @@ -650,12 +652,12 @@ void HdatMsArea::commit(UtilMem &i_data) i_data.write(iv_ecLvl,iv_maxEcCnt * sizeof(hdatMsAreaEcLvl_t)); - i_data.write(&iv_msaI2cHdr, sizeof(hdatHDIFDataArray_t)); + i_data.write(&iv_msaI2cHdr, sizeof(iv_msaI2cHdr)); if (NULL != iv_msaI2cDataPtr) { i_data.write(iv_msaI2cDataPtr, - (iv_msaHostI2cSize - sizeof(hdatHDIFDataArray_t))); + (iv_msaHostI2cSize - sizeof(iv_msaI2cHdr))); } this->endCommit(i_data); |

