summaryrefslogtreecommitdiffstats
path: root/src/usr/util
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2015-03-03 09:03:43 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-03-26 07:58:56 -0500
commit0d7ec79752556d06069b37de26cd5aa8ea38e1de (patch)
tree8d5cece0f3d216e897481a7b51ad614434c94818 /src/usr/util
parent4c31ecf3b63f4f21e677d7359f64de22cd8fc1eb (diff)
downloadtalos-hostboot-0d7ec79752556d06069b37de26cd5aa8ea38e1de.tar.gz
talos-hostboot-0d7ec79752556d06069b37de26cd5aa8ea38e1de.zip
Modify hbrt pnor interfaces to handle different partition sizes
Change-Id: I8ea0d9fa603328bdafed97bd33d70ad3634b43a3 RTC: 125021 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16139 Tested-by: Jenkins Server Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: PRACHI GUPTA <pragupta@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/util')
-rw-r--r--src/usr/util/runtime/utillidmgr_rt.C32
1 files changed, 29 insertions, 3 deletions
diff --git a/src/usr/util/runtime/utillidmgr_rt.C b/src/usr/util/runtime/utillidmgr_rt.C
index 44f1ce81f..2c5c80a30 100644
--- a/src/usr/util/runtime/utillidmgr_rt.C
+++ b/src/usr/util/runtime/utillidmgr_rt.C
@@ -31,6 +31,7 @@
#include <vfs/vfs.H>
#include <runtime/interface.h>
#include <hwpf/hwp/occ/occ_common.H>
+#include <initservice/initserviceif.H>
UtilLidMgr::UtilLidMgr(uint32_t i_lidId) :
iv_isLidInPnor(false), iv_lidBuffer(NULL), iv_lidSize(0),
@@ -109,7 +110,8 @@ errlHndl_t UtilLidMgr::loadLid()
iv_lidSize = iv_lidPnorInfo.size;
iv_lidBuffer = reinterpret_cast<char *>(iv_lidPnorInfo.vaddr);
}
- else
+ else if( g_hostInterfaces->lid_load
+ && INITSERVICE::spBaseServicesEnabled() )
{
int rc = g_hostInterfaces->lid_load(iv_lidId, &iv_lidBuffer,
&iv_lidSize);
@@ -120,15 +122,39 @@ errlHndl_t UtilLidMgr::loadLid()
* @moduleid Util::UTIL_LIDMGR_RT
* @reasoncode Util::UTIL_LIDMGR_RC_FAIL
* @userdata1 Return code from lid_load call.
+ * @userdata2 Lid number
* @devdesc Unable to load LID via host interface.
*/
l_errl = new ERRORLOG::ErrlEntry(
ERRORLOG::ERRL_SEV_INFORMATIONAL,
Util::UTIL_LIDMGR_RT,
Util::UTIL_LIDMGR_RC_FAIL,
- rc);
+ rc,
+ iv_lidId,
+ true/*SW Error*/);
+ break;
}
- }
+ }
+
+ // Could not find the lid anywhere
+ if( iv_lidSize == 0 )
+ {
+ /*@
+ * @errortype ERRL_SEV_INFORMATIONAL
+ * @moduleid Util::UTIL_LIDMGR_RT
+ * @reasoncode Util::UTIL_LIDMGR_NOT_FOUND
+ * @userdata1 Lid number
+ * @devdesc Unable to find Lid.
+ */
+ l_errl = new ERRORLOG::ErrlEntry(
+ ERRORLOG::ERRL_SEV_INFORMATIONAL,
+ Util::UTIL_LIDMGR_RT,
+ Util::UTIL_LIDMGR_NOT_FOUND,
+ iv_lidId,
+ 0,
+ true/*SW Error*/);
+ break;
+ }
} while (0);
return l_errl;
}
OpenPOWER on IntegriCloud