diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2015-03-03 09:03:43 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-03-26 07:58:56 -0500 |
commit | 0d7ec79752556d06069b37de26cd5aa8ea38e1de (patch) | |
tree | 8d5cece0f3d216e897481a7b51ad614434c94818 /src/usr/util | |
parent | 4c31ecf3b63f4f21e677d7359f64de22cd8fc1eb (diff) | |
download | blackbird-hostboot-0d7ec79752556d06069b37de26cd5aa8ea38e1de.tar.gz blackbird-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.C | 32 |
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; } |