Skip to content

Commit

Permalink
HDAT: Support for Swift/Axone memory sub system
Browse files Browse the repository at this point in the history
Added support to scan the dimms using OCMB chip target path and fetched
the memory related data using the new targeting model. Updated PVPD and
MVPD keywords for axone chip.

Change-Id: I2c7288dd57d60243569b4648a309dfcb11baf9d8
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80591
Reviewed-by: Sampa Misra <sampmisr@in.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
  • Loading branch information
jaypadath authored and dcrowell77 committed Aug 8, 2019
1 parent 5fffa91 commit 103d85c
Show file tree
Hide file tree
Showing 9 changed files with 1,461 additions and 476 deletions.
41 changes: 36 additions & 5 deletions src/usr/hdat/hdatiohub.C
Expand Up @@ -75,6 +75,18 @@ const HdatKeywordInfo l_pvpdKeywords[] =
{ PVPD::PF, "PF" },
};

vpdData pvpdDataAxone[] =
{
{ PVPD::OPFR, PVPD::VP },
{ PVPD::OPFR, PVPD::VS },
};

const HdatKeywordInfo l_pvpdKeywordsAxone[] =
{
{ PVPD::VP, "VP" },
{ PVPD::VS, "VS" },
};

extern trace_desc_t *g_trac_hdat;

const uint32_t HDAT_MULTIPLE = 16;
Expand Down Expand Up @@ -651,13 +663,28 @@ errlHndl_t HdatIoHubFru::addDaughterCard(uint32_t i_resourceId,
// told to allow for on the constructor
if (iv_actDaughterCnt < iv_maxDaughters)
{
//Get the processor model
auto l_model = TARGETING::targetService().getProcessorModel();

if ( l_vpdType == FRU_BP )
{

uint32_t i_num = sizeof(mvpdData)/sizeof(mvpdData[0]);
l_vpdObj = new HdatVpd(l_errlHndl, i_resourceId,i_target,
HDAT_KID_STRUCT_NAME,i_index,BP,
mvpdData,i_num,l_pvpdKeywords);
//@TODO:RTC 213229(Remove HDAT hack or Axone)
//Check whether the code can be more fault tolerant by avoiding
//model check
if(l_model == TARGETING::MODEL_NIMBUS)
{
uint32_t i_num = sizeof(mvpdData)/sizeof(mvpdData[0]);
l_vpdObj = new HdatVpd(l_errlHndl, i_resourceId,i_target,
HDAT_KID_STRUCT_NAME,i_index,BP,
mvpdData,i_num,l_pvpdKeywords);
}
else if(l_model == TARGETING::MODEL_AXONE)
{
uint32_t i_num = sizeof(pvpdDataAxone)/sizeof(pvpdDataAxone[0]);
l_vpdObj = new HdatVpd(l_errlHndl, i_resourceId,i_target,
HDAT_KID_STRUCT_NAME,i_index,BP,
pvpdDataAxone,i_num,l_pvpdKeywordsAxone);
}
}
//@TODO: RTC 148660 pci slots and cards

Expand Down Expand Up @@ -898,6 +925,10 @@ errlHndl_t hdatLoadIoData(const hdatMsAddr_t &i_msAddr,
{
l_hub->hdatModuleId = HDAT_MODULE_TYPE_ID_NIMBUS_LAGRANGE;
}
else if(l_model == TARGETING::MODEL_AXONE)
{
l_hub->hdatModuleId = HDAT_MODULE_TYPE_ID_AXONE_HOPPER;
}
else if(l_model == TARGETING::MODEL_CUMULUS)
{
l_hub->hdatModuleId = HDAT_MODULE_TYPE_ID_CUMULUS_DUOMO;
Expand Down
3 changes: 2 additions & 1 deletion src/usr/hdat/hdatiohub.H
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -273,6 +273,7 @@ enum hdatHubStatus
//@TODO:RTC 166789: Need to access the module type from HB targeting model
#define HDAT_MODULE_TYPE_ID_NIMBUS_LAGRANGE 0x0022
#define HDAT_MODULE_TYPE_ID_CUMULUS_DUOMO 0x0030
#define HDAT_MODULE_TYPE_ID_AXONE_HOPPER 0x0040



Expand Down
4 changes: 2 additions & 2 deletions src/usr/hdat/hdatmsarea.H
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -51,7 +51,7 @@ namespace HDAT
/* Constants */
/*----------------------------------------------------------------------------*/

const uint16_t HDAT_MS_AREA_VERSION = 0x30;
const uint16_t HDAT_MS_AREA_VERSION = 0x50;
const char HDAT_MSAREA_STRUCT_NAME[] = "MSAREA";

/** @brief Since the size of each MS Area must the same as all others, the
Expand Down

0 comments on commit 103d85c

Please sign in to comment.