From 2cc1c594ad2b05919d1742625de0da83ffd7f01d Mon Sep 17 00:00:00 2001 From: Corey Swenson Date: Wed, 18 Jun 2014 16:09:55 -0500 Subject: Merge VPD commits from Stradale Change-Id: I95aa2bb30299c9d22563068741ffbeda48d2d84b RTC: 97488 Origin: Google Shared Technology Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11661 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III --- src/usr/hwas/common/hwas.C | 3 +++ src/usr/hwas/hwasPlat.C | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'src/usr/hwas') diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C index 2b6730e09..086518238 100644 --- a/src/usr/hwas/common/hwas.C +++ b/src/usr/hwas/common/hwas.C @@ -51,6 +51,7 @@ #include #include #include +#include namespace HWAS { @@ -852,6 +853,7 @@ errlHndl_t checkMinimumHardware(const TARGETING::ConstTargetHandle_t i_node) } // if no cores } +#ifndef CONFIG_DJVPD_READ_FROM_HW // check here for functional dimms TargetHandleList l_dimms; PredicateCTM l_dimm(CLASS_LOGICAL_CARD, TYPE_DIMM); @@ -906,6 +908,7 @@ errlHndl_t checkMinimumHardware(const TARGETING::ConstTargetHandle_t i_node) errlCommit(l_errl, HWAS_COMP_ID); // errl is now NULL } // if no dimms +#endif // CONFIG_DJVPD_READ_FROM_HW // ------------------------------------------------------------ // Check for Mirrored memory - diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C index a9ac424ab..6525401ad 100644 --- a/src/usr/hwas/hwasPlat.C +++ b/src/usr/hwas/hwasPlat.C @@ -5,7 +5,10 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* [+] Google Inc. */ +/* [+] International Business Machines Corp. */ +/* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ /* you may not use this file except in compliance with the License. */ @@ -43,6 +46,7 @@ #include #include #include +#include namespace HWAS { @@ -394,6 +398,17 @@ errlHndl_t platPresenceDetect(TargetHandleList &io_targets) continue; } + // HW backed by VPD cannot detect DIMMs at this stage of IPL, so will + // force all DIMMs on to be present for now and then fix up later + // @TODO RTC: 111211 - fix DIMMs later +#ifdef CONFIG_DJVPD_READ_FROM_HW + if ( pTarget->getAttr() == TYPE_DIMM ) + { + pTarget_it++; + continue; + } +#endif + // call deviceRead() to see if they are present bool present = false; size_t presentSize = sizeof(present); -- cgit v1.2.1