diff options
Diffstat (limited to 'src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit')
-rw-r--r-- | src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.C | 116 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.H | 94 |
2 files changed, 210 insertions, 0 deletions
diff --git a/src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.C b/src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.C new file mode 100644 index 000000000..d2413c303 --- /dev/null +++ b/src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.C @@ -0,0 +1,116 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: cen_dmi_scominit.C,v 1.2 2013/01/24 20:21:23 thomsen Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/cen_dmi_scominit.C,v $ +//------------------------------------------------------------------------------ +// *! (C) Copyright International Business Machines Corp. 2012 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +//------------------------------------------------------------------------------ +// *! TITLE : cen_dmi_scominit.C +// *! DESCRIPTION : Invoke DMI initfiles (FAPI) +// *! +// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com +// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com +// *! +// *! ADDITIONAL COMMENTS : +// *! +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Version Date Owner Description +//------------------------------------------------------------------------------ +// 1.3 01/23/13 thomsen Added separate calls to base & customized scominit files. Removed separate calls to SIM vs. HW scominit files +// 1.2 01/09/13 thomsen Added separate calls to SIM vs. HW scominit files +// Added commented-out call to OVERRIDE initfile for system/bus/lane specific inits +// 1.1 8/11/12 jmcgill Initial release +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ +#include <fapiHwpExecInitFile.H> +#include <cen_dmi_scominit.H> + +extern "C" { + +//------------------------------------------------------------------------------ +// Function definitions +//------------------------------------------------------------------------------ + +// HWP entry point, comments in header +fapi::ReturnCode cen_dmi_scominit(const fapi::Target & i_target) +{ + fapi::ReturnCode rc; + fapi::TargetType target_type; + std::vector<fapi::Target> targets; + + // mark HWP entry + FAPI_INF("cen_dmi_scominit: Start"); + + do + { + // obtain target type to determine which initfile(s) to execute + target_type = i_target.getType(); + targets.push_back(i_target); + + // Centaur chip target + if (target_type == fapi::TARGET_TYPE_MEMBUF_CHIP) + { + // Call BASE DMI SCOMINIT + FAPI_INF("cen_dmi_scominit: Executing %s on %s", + CEN_DMI_BASE_IF, i_target.toEcmdString()); + FAPI_EXEC_HWP(rc, fapiHwpExecInitFile, targets, CEN_DMI_BASE_IF); + if (!rc.ok()) + { + FAPI_ERR("cen_dmi_scominit: Error from fapiHwpExecInitfile executing %s on %s", + CEN_DMI_BASE_IF, i_target.toEcmdString()); + break; + } + // Call CUSTOMIZED DMI SCOMINIT (system specific) + FAPI_INF("cen_dmi_scominit: Error from fapiHwpExecInitfile executing %s on %s & %s", + CEN_DMI_CUSTOM_IF, i_target.toEcmdString(), i_target.toEcmdString()); + FAPI_EXEC_HWP(rc, fapiHwpExecInitFile, targets, CEN_DMI_CUSTOM_IF); + if (!rc.ok()) + { + FAPI_ERR("cen_dmi_scominit: Error from fapiHwpExecInitfile executing %s on %s", + CEN_DMI_CUSTOM_IF, i_target.toEcmdString()); + break; + } + + } + // unsupported target type + else + { + FAPI_ERR("cen_dmi_scominit: Unsupported target type"); + FAPI_SET_HWP_ERROR(rc, RC_CEN_DMI_SCOMINIT_INVALID_TARGET); + break; + } + } while (0); + + // mark HWP exit + FAPI_INF("cen_dmi_scominit: End"); + return rc; +} + + +} // extern "C" diff --git a/src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.H b/src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.H new file mode 100644 index 000000000..d3301707f --- /dev/null +++ b/src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.H @@ -0,0 +1,94 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dmi_training/cen_dmi_scominit/cen_dmi_scominit.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: cen_dmi_scominit.H,v 1.2 2013/01/24 20:21:23 thomsen Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/cen_dmi_scominit.H,v $ +//------------------------------------------------------------------------------ +// *! (C) Copyright International Business Machines Corp. 2012 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +//------------------------------------------------------------------------------ +// *! TITLE : cen_dmi_scominit.H +// *! DESCRIPTION : Invoke DMI initfiles (FAPI) +// *! +// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com +// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com +// *! +// *! ADDITIONAL COMMENTS : +// *! +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Version Date Owner Description +//------------------------------------------------------------------------------ +// 1.3 01/23/13 thomsen Added separate calls to base & customized scominit files. Removed separate calls to SIM vs. HW scominit files +// 1.2 01/09/13 thomsen Added SIM and HW scominit filename strings +// Added *_OVERRIDE_IF to allow DMI initfile overrides for specific bus instances +// 1.1 8/11/12 jmcgill Initial release +//------------------------------------------------------------------------------ + + +#ifndef CEN_DMI_SCOMINIT_H_ +#define CEN_DMI_SCOMINIT_H_ + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ +#include <fapi.H> + +//------------------------------------------------------------------------------ +// Constant definitions +//------------------------------------------------------------------------------ +const char * const CEN_DMI_BASE_IF = "cen.dmi.scom.if"; +const char * const CEN_DMI_CUSTOM_IF = "cen.dmi.custom.scom.if"; + +//------------------------------------------------------------------------------ +// Structure definitions +//------------------------------------------------------------------------------ + +// function pointer typedef definition for HWP call support +typedef fapi::ReturnCode +(*cen_dmi_scominit_FP_t)(const fapi::Target & i_target); + +extern "C" { + +//------------------------------------------------------------------------------ +// Function prototypes +//------------------------------------------------------------------------------ + +/** + * @brief HWP that calls the DMI SCOM initfiles + * + * Should be called with all functional Centaur chips + * + * + * @param[in] i_target Reference to target + * If TARGET_TYPE_MEMBUF_CHIP, calls: + * - cen.dmi.scom.initfile + * + * @return ReturnCode + */ +fapi::ReturnCode cen_dmi_scominit(const fapi::Target & i_target); + + +} // extern "C" + +#endif // CEN_DMI_SCOMINIT_H_ |