diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2013-04-19 07:17:37 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-05-16 09:38:39 -0500 |
commit | 4b1f946d7558f8ca95c87d89e637513f18e87818 (patch) | |
tree | 5c70bf865fb77bf34ca08dc9b2ed461a933657d3 | |
parent | 91572a1c887aac732ff84e60f5a2be4e25f650ac (diff) | |
download | talos-hostboot-4b1f946d7558f8ca95c87d89e637513f18e87818.tar.gz talos-hostboot-4b1f946d7558f8ca95c87d89e637513f18e87818.zip |
Add new istep for multinode support in Hostboot and FSP
Change-Id: I1e9b0662ded03828f5df9e16aa35960ccb8d90cc
RTC:63129
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4247
Reviewed-by: Van H. Lee <vanlee@us.ibm.com>
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
18 files changed, 555 insertions, 244 deletions
diff --git a/src/include/usr/hwas/hostbootIstep.H b/src/include/usr/hwas/hostbootIstep.H index 94c55e71f..46a99ab72 100644 --- a/src/include/usr/hwas/hostbootIstep.H +++ b/src/include/usr/hwas/hostbootIstep.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/usr/hwas/hostbootIstep.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * 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 other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/hwas/hostbootIstep.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ /** * @file hostbootIstep.H * diff --git a/src/include/usr/isteps/istep07list.H b/src/include/usr/isteps/istep07list.H index 41b95117b..c407a963a 100644 --- a/src/include/usr/isteps/istep07list.H +++ b/src/include/usr/isteps/istep07list.H @@ -27,23 +27,25 @@ * @file istep07list.H * * IStep 07 Nest Chiplets - * IPL FLow Doc v1.28 (12/03/12) + * IPL FLow Doc v1.35 (04/11/13) * - * 07.1 proc_a_x_pci_dmi_pll_initf + * 07.1 proc_attr_update + * : Proc attr update + * 07.2 proc_a_x_pci_dmi_pll_initf * : PLL Initfile for A, X, PCIe, DMI - * 07.2 proc_a_x_pci_dmi_pll_setup + * 07.3 proc_a_x_pci_dmi_pll_setup * : Setup PLL for A, X, PCIe, DMI - * 07.3 proc_startclock_chiplets + * 07.4 proc_startclock_chiplets * : Start clocks on A, X, PCIe chiplets - * 07.4 proc_chiplet_scominit + * 07.5 proc_chiplet_scominit * : Apply scom inits to chiplets - * 07.5 proc_xbus_scominit - * : Apply scom inits to Xbus - * 07.6 proc_abus_scominit - * : Apply scom inits to Abus - * 07.7 proc_pcie_scominit + * 07.6 proc_xbus_scominit + * : Apply scom inits to Xbus + * 07.7 proc_abus_scominit + * : Apply scom inits to Abus + * 07.8 proc_pcie_scominit * : Apply scom inits to PCIE chiplets - * 07.8 proc_scomoverride_chiplets + * 07.9 proc_scomoverride_chiplets * : Apply sequenced scom inits * * Please see the note in initsvcstructs.H for description of @@ -73,7 +75,17 @@ namespace INITSERVICE } }, { - ISTEPNAME(07,01,"proc_a_x_pci_dmi_pll_initf"), + ISTEPNAME(07,01,"proc_attr_update"), + NEST_CHIPLETS::call_proc_attr_update, + { + START_FN, + EXT_IMAGE, + NORMAL_IPL_OP, + false, + } + }, + { + ISTEPNAME(07,02,"proc_a_x_pci_dmi_pll_initf"), NEST_CHIPLETS::call_proc_a_x_pci_dmi_pll_initf, { START_FN, @@ -84,7 +96,7 @@ namespace INITSERVICE }, { - ISTEPNAME(07,02,"proc_a_x_pci_dmi_pll_setup"), + ISTEPNAME(07,03,"proc_a_x_pci_dmi_pll_setup"), NEST_CHIPLETS::call_proc_a_x_pci_dmi_pll_setup, { START_FN, @@ -96,7 +108,7 @@ namespace INITSERVICE { - ISTEPNAME(07,03,"proc_startclock_chiplets"), + ISTEPNAME(07,04,"proc_startclock_chiplets"), NEST_CHIPLETS::call_proc_startclock_chiplets, { START_FN, @@ -108,7 +120,7 @@ namespace INITSERVICE { - ISTEPNAME(07,04,"proc_chiplet_scominit"), + ISTEPNAME(07,05,"proc_chiplet_scominit"), NEST_CHIPLETS::call_proc_chiplet_scominit, { START_FN, @@ -118,7 +130,7 @@ namespace INITSERVICE } }, { - ISTEPNAME(07,05,"proc_xbus_scominit"), + ISTEPNAME(07,06,"proc_xbus_scominit"), NEST_CHIPLETS::call_proc_xbus_scominit, { START_FN, @@ -128,7 +140,7 @@ namespace INITSERVICE } }, { - ISTEPNAME(07,06,"proc_abus_scominit"), + ISTEPNAME(07,07,"proc_abus_scominit"), NEST_CHIPLETS::call_proc_abus_scominit, { START_FN, @@ -138,7 +150,7 @@ namespace INITSERVICE } }, { - ISTEPNAME(07,07,"proc_pcie_scominit"), + ISTEPNAME(07,08,"proc_pcie_scominit"), NEST_CHIPLETS::call_proc_pcie_scominit, { START_FN, @@ -148,7 +160,7 @@ namespace INITSERVICE } }, { - ISTEPNAME(07,08,"proc_scomoverride_chiplets"), + ISTEPNAME(07,09,"proc_scomoverride_chiplets"), NEST_CHIPLETS::call_proc_scomoverride_chiplets, { START_FN, diff --git a/src/include/usr/isteps/istep11list.H b/src/include/usr/isteps/istep11list.H index 408a94a89..7a6567f76 100644 --- a/src/include/usr/isteps/istep11list.H +++ b/src/include/usr/isteps/istep11list.H @@ -25,31 +25,33 @@ /** * list of functions called for DMI Training - ISTEP 11 according to Dean's - * IPL Flow Doc v1.28 (12/03/12) + * IPL Flow Doc v1.35 (04/11/13) * * 11.1 mss_getecid * : Read out ECID orff all Centaurs - * 11.2 proc_dmi_scominit + * 11.2 dmi_attr_update + * :DMI ATTR update + * 11.3 proc_dmi_scominit * : DMI Scom setup on P8 MCS - * 11.3 dmi_scominit + * 11.4 dmi_scominit * : Scom setup on centaur - * 11.4 dmi_erepair + * 11.5 dmi_erepair * : Restore EDI Bus eRepair data - * 11.5 dmi_io_dccal + * 11.6 dmi_io_dccal * : Calibrate DMI interfaces - * 11.6 dmi_pre_trainadv + * 11.7 dmi_pre_trainadv * : Advanced pre DMI training - * 11.7 dmi_io_run_training + * 11.8 dmi_io_run_training * : Run training on MC buses - * 11.8 dmi_post_trainadv + * 11.9 dmi_post_trainadv * : Advanced post DMI training - * 11.9 proc_cen_framelock + * 11.10 proc_cen_framelock * : Initialize EDI Frame - * 11.10 host_startprd_dmi + * 11.11 host_startprd_dmi * : Load prd for DMI domain - * 11.11 host_attnlisten_cen + * 11.12 host_attnlisten_cen * : Start listening for attentions - * 11.12 cen_set_inband_addr + * 11.13 cen_set_inband_addr * : Set the Inband base addresses */ @@ -95,7 +97,18 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,02,"proc_dmi_scominit"), // substep name + ISTEPNAME(11,02,"dmi_attr_update"), // substep name + DMI_TRAINING::call_dmi_attr_update, // pointer to fn + { + START_FN, // task type + EXT_IMAGE, // Extended Module + NORMAL_IPL_OP, + true, + } + }, + + { + ISTEPNAME(11,03,"proc_dmi_scominit"), // substep name DMI_TRAINING::call_proc_dmi_scominit, // pointer to fn { START_FN, // task type @@ -106,7 +119,7 @@ const TaskInfo g_istep11[] = { }, { - ISTEPNAME(11,03,"dmi_scominit"), // substep name + ISTEPNAME(11,04,"dmi_scominit"), // substep name DMI_TRAINING::call_dmi_scominit, // pointer to fn { START_FN, // task type @@ -117,7 +130,7 @@ const TaskInfo g_istep11[] = { }, { - ISTEPNAME(11,04,"dmi_erepair"), // substep name + ISTEPNAME(11,05,"dmi_erepair"), // substep name DMI_TRAINING::call_dmi_erepair, // pointer to fn { START_FN, // task type @@ -127,7 +140,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,05,"dmi_io_dccal"), // substep name + ISTEPNAME(11,06,"dmi_io_dccal"), // substep name DMI_TRAINING::call_dmi_io_dccal, // pointer to fn { START_FN, // task type @@ -137,7 +150,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,06,"dmi_pre_trainadv"), // substep name + ISTEPNAME(11,07,"dmi_pre_trainadv"), // substep name DMI_TRAINING::call_dmi_pre_trainadv, // pointer to fn { START_FN, // task type @@ -147,7 +160,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,07,"dmi_io_run_training"), // substep name + ISTEPNAME(11,08,"dmi_io_run_training"), // substep name DMI_TRAINING::call_dmi_io_run_training, // pointer to fn { START_FN, // task type @@ -167,7 +180,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,09,"proc_cen_framelock"), // substep name + ISTEPNAME(11,10,"proc_cen_framelock"), // substep name DMI_TRAINING::call_proc_cen_framelock, // pointer to fn { START_FN, // task type @@ -177,7 +190,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,10,"host_startprd_dmi"), // substep name + ISTEPNAME(11,11,"host_startprd_dmi"), // substep name DMI_TRAINING::call_host_startprd_dmi, // pointer to fn { START_FN, // task type @@ -187,7 +200,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,11,"host_attnlisten_cen"), // substep name + ISTEPNAME(11,12,"host_attnlisten_cen"), // substep name DMI_TRAINING::call_host_attnlisten_cen, // pointer to fn { START_FN, // task type @@ -197,7 +210,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,12,"cen_set_inband_addr"), // substep name + ISTEPNAME(11,13,"cen_set_inband_addr"), // substep name DMI_TRAINING::call_cen_set_inband_addr, // pointer to fn { START_FN, // task type diff --git a/src/include/usr/isteps/istep12list.H b/src/include/usr/isteps/istep12list.H index f980e7a44..93c7fbe65 100644 --- a/src/include/usr/isteps/istep12list.H +++ b/src/include/usr/isteps/istep12list.H @@ -27,18 +27,20 @@ * @file istep12list.H * * IStep 12 Step 12 MC Config - * IPL FLow Doc v1.28 (12/03/12) + * IPL FLow Doc v1.35 (04/11/13) * - * 12.1 host_collect_dimm_spd + * 12.1 host_collect_dimm_spd * : Collect Master dimm SPD - * 12.2 mss_volt + * 12.2 mss_volt * : Calc dimm voltage - * 12.3 mss_freq + * 12.3 mss_freq * : Calc dimm frequency - * 12.4 mss_eff_config + * 12.4 mss_eff_config * : Determine effective config - * - * ***************************************************************** + * 12.5 mss_attr_update + * : MSS ATTR update +* +* ***************************************************************** * THIS FILE WAS GENERATED ON 2012-03-01:1032 * ***************************************************************** * @@ -58,13 +60,13 @@ namespace INITSERVICE const TaskInfo g_istep12[] = { { - "", // dummy, index 0 + "", // dummy, index 0 NULL, { NONE, EXT_IMAGE, IPL_NOOP, - false, // true = check for attentions + false, // true = check for attentions } }, @@ -108,6 +110,17 @@ const TaskInfo g_istep12[] = { true, } }, + { + ISTEPNAME(12,05,"mss_attr_update"), + MC_CONFIG::call_mss_attr_update, + { + START_FN, + EXT_IMAGE, + NORMAL_IPL_OP, + true, + } + }, + // END OF LIST! }; diff --git a/src/include/usr/isteps/istep18list.H b/src/include/usr/isteps/istep18list.H index 98bb9ca85..48bd78c78 100644 --- a/src/include/usr/isteps/istep18list.H +++ b/src/include/usr/isteps/istep18list.H @@ -27,13 +27,13 @@ * @file istep18list.H * * IStep 18 Establish System SMP - * IPL FLow Doc v1.28 (12/03/12) + * IPL FLow Doc v1.35 (04/11/13) * - * 18.10 host_coalesce_host + * 18.12 host_coalesce_host * : Create single host image - * 18.11 proc_tod_setup + * 18.13 proc_tod_setup * : Create TOD topology - * 18.12 proc_tod_init + * 18.14 proc_tod_init * : Start TOD to running state * * ***************************************************************** @@ -64,7 +64,7 @@ namespace INITSERVICE NONE, EXT_IMAGE, IPL_NOOP, - false, // true = check for attentions + false, // true = check for attentions } }, @@ -146,7 +146,6 @@ namespace INITSERVICE } }, { - ISTEPNAME(18,08,""), NULL, { @@ -157,7 +156,6 @@ namespace INITSERVICE } }, { - ISTEPNAME(18,09,""), NULL, { @@ -168,7 +166,28 @@ namespace INITSERVICE } }, { - ISTEPNAME(18,10,"host_coalesce_host"), + + ISTEPNAME(18,10,""), + NULL, + { + NONE, + EXT_IMAGE, + IPL_NOOP, + false, + } + }, + { + ISTEPNAME(18,11,""), + NULL, + { + NONE, + EXT_IMAGE, + IPL_NOOP, + false, + } + }, + { + ISTEPNAME(18,12,"host_coalesce_host"), ESTABLISH_SYSTEM_SMP::call_host_coalesce_host, { START_FN, @@ -178,7 +197,7 @@ namespace INITSERVICE } }, { - ISTEPNAME(18,11,"proc_tod_setup"), + ISTEPNAME(18,13,"proc_tod_setup"), TOD::call_tod_setup, { START_FN, @@ -188,7 +207,7 @@ namespace INITSERVICE } }, { - ISTEPNAME(18,12,"proc_tod_init"), + ISTEPNAME(18,14,"proc_tod_init"), TOD::call_tod_init, { START_FN, diff --git a/src/usr/hwpf/hwp/dmi_training/dmi_training.C b/src/usr/hwpf/hwp/dmi_training/dmi_training.C index e5ebb3420..8e15a46ab 100644 --- a/src/usr/hwpf/hwp/dmi_training/dmi_training.C +++ b/src/usr/hwpf/hwp/dmi_training/dmi_training.C @@ -282,6 +282,22 @@ void* call_mss_getecid( void *io_pArgs ) return l_StepError.getErrorHandle(); } +// +// Wrapper function to call dmi_attr_update +// +void * call_dmi_attr_update( void * io_pArgs ) +{ + IStepError l_StepError; + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_dmi_attr_update entry" ); + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_dmi_attr_update exit" ); + + return l_StepError.getErrorHandle(); + +} // // Wrapper function to call proc_dmi_scominit diff --git a/src/usr/hwpf/hwp/dmi_training/dmi_training.H b/src/usr/hwpf/hwp/dmi_training/dmi_training.H index ee0e0a7f0..88d892e74 100644 --- a/src/usr/hwpf/hwp/dmi_training/dmi_training.H +++ b/src/usr/hwpf/hwp/dmi_training/dmi_training.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/dmi_training/dmi_training.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * 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 other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dmi_training/dmi_training.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ #ifndef __DMI_TRAINING_DMI_TRAINING_H #define __DMI_TRAINING_DMI_TRAINING_H /** @@ -136,6 +135,19 @@ namespace DMI_TRAINING */ void* call_mss_getecid( void * io_pArgs ); +/** + * @brief dmi_attr_update + * + * Stub HWP to allow FW to override attributes programmatically + * + * + * param[in,out] io_pArgs - (normally) a pointer to a TaskArgs struct, + * or NULL. + * return any error logs to istep + * + */ + +void * call_dmi_attr_update( void * io_pArgs ); /** * @brief proc_dmi_scominit diff --git a/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.C b/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.C index 1ea2f46e1..426aa8d39 100644 --- a/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.C +++ b/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.C @@ -47,6 +47,8 @@ #include <hwpisteperror.H> +#include <istep_mbox_msgs.H> + // targeting support #include <targeting/common/commontargeting.H> @@ -68,7 +70,6 @@ using namespace TARGETING; using namespace fapi; - // // Wrapper function to call host_coalesce_host // @@ -116,6 +117,88 @@ void* call_host_coalesce_host( void *io_pArgs ) return l_errl; } +//****************************************************************************** +// host_sys_fab_iovalid_processing function +//****************************************************************************** +void host_sys_fab_iovalid_processing( msg_t* io_pMsg ) +{ + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "host_sys_fab_iovalid_processing entry" ); + + iovalid_msg * drawerData = NULL; + + uint16_t count = 0; + + std::vector<TARGETING::EntityPath> present_drawers; + + errlHndl_t l_errl = NULL; + + // if there is extra data, start processing it + // else send back a msg to indicate invalid msg + if(io_pMsg->extra_data) + { + drawerData = (iovalid_msg *)io_pMsg->extra_data; + + // setup a pointer to the first drawer entry in our data + TARGETING::EntityPath * ptr = drawerData->drawers; + + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"Master node %s " + "List size = %d bytes " + "Drawer count = %d", + ptr->toString(), drawerData->size, drawerData->count); + count = drawerData->count; + + // create a vector with the present drawers + for(uint8_t i = 0; i < count; i++) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "list entry[%d] - %s", i, ptr->toString()); + + present_drawers.push_back(*ptr); + ptr++; + } + + // $TODO RTC:63128 - exchange between present drawers to agree + // on valid endpoints + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "$TODO RTC:63128 - hb instances exchange and agree on cfg"); + + // $TODO RTC:63132 after agreement, open abuses as required + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "$TODO RTC:63132 - open the required A-busses " + " after agreement is reached"); + + // release the storage from the message + free(io_pMsg->extra_data); + io_pMsg->extra_data = NULL; + + io_pMsg->data[0] = INITSERVICE::HWSVR_MSG_SUCCESS; + } + else + { + // message needs to have at least one entry + // in the drawer list, else we will say invalid msg + io_pMsg->data[0] = INITSERVICE::HWSVR_INVALID_MESSAGE; + } + + io_pMsg->data[1] = 0; + + // if there is an error log add the ID to + // data 0 + if(l_errl) + { + io_pMsg->data[0] = l_errl->eid(); + errlCommit(l_errl, HWPF_COMP_ID); + } + + // response will be sent by calling routine + // IStepDispatcher::handleMoreWorkNeededMsg() + // which will also execute the procedure to winkle all cores + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "host_sys_fab_iovalid_processing exit" ); +} }; // end namespace diff --git a/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.H b/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.H index 43efa5283..25bcf0a1f 100644 --- a/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.H +++ b/src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * 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 other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/establish_system_smp/establish_system_smp.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ #ifndef __ESTABLISH_SYSTEM_SMP_ESTABLISH_SYSTEM_SMP_H #define __ESTABLISH_SYSTEM_SMP_ESTABLISH_SYSTEM_SMP_H @@ -41,13 +40,13 @@ */ /* @tag isteplist - * @docversion v1.28 (12/03/12) + * @docversion v1.35 (04/11/13) * @istepname establish_system_smp * @istepnum 18 * @istepdesc Establish System SMP * * @{ - * @substepnum 10 + * @substepnum 12 * @substepname host_coalesce_host * @substepdesc : Create single host image * @target_sched serial @@ -63,7 +62,16 @@ namespace ESTABLISH_SYSTEM_SMP { - + /** + * @brief structure to hold iovalid processing data + * + */ + struct iovalid_msg { + uint32_t size; //!Data length in bytes + uint16_t type; //! IPL/CCM type message + uint16_t count; //! Number of drawer HUIDs in data + TARGETING::EntityPath drawers[0]; //! Place holder for data + }; /** * @brief host_coalesce_host @@ -77,7 +85,17 @@ namespace ESTABLISH_SYSTEM_SMP */ void* call_host_coalesce_host( void *io_pArgs ); - +/** + * @brief host_sys_fab_iovalid_processing + * + * Do hostboot side processing for fsp istep + * sys_proc_fab_iovalid + * + * param[in,out] io_pMsg - input message buffer with drawer info, + * also used for response message to FSP + * + */ +void host_sys_fab_iovalid_processing( msg_t* io_pMsg ); }; // end namespace diff --git a/src/usr/hwpf/hwp/establish_system_smp/makefile b/src/usr/hwpf/hwp/establish_system_smp/makefile index 3a13446e7..3ce0dbdcc 100644 --- a/src/usr/hwpf/hwp/establish_system_smp/makefile +++ b/src/usr/hwpf/hwp/establish_system_smp/makefile @@ -1,31 +1,32 @@ -# IBM_PROLOG_BEGIN_TAG -# This is an automatically generated prolog. +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. # -# $Source: src/usr/hwpf/hwp/establish_system_smp/makefile $ +# $Source: src/usr/hwpf/hwp/establish_system_smp/makefile $ # -# IBM CONFIDENTIAL +# IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2012 +# COPYRIGHT International Business Machines Corp. 2012,2013 # -# p1 +# p1 # -# Object Code Only (OCO) source materials -# Licensed Internal Code Source Materials -# IBM HostBoot Licensed Internal Code +# 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 other- -# wise divested of its trade secrets, irrespective of what has -# been deposited with the U.S. Copyright Office. +# 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 +# Origin: 30 # -# IBM_PROLOG_END +# IBM_PROLOG_END_TAG ROOTPATH = ../../../../.. MODULE = establish_system_smp ## support for Targeting and fapi +EXTRAINCDIR += ${ROOTPATH}/src/usr/initservice/istepdispatcher EXTRAINCDIR += ${ROOTPATH}/src/include/usr/ecmddatabuffer EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/fapi EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/plat @@ -34,7 +35,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp ## pointer to common HWP files EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include -## NOTE: add the base istep dir here. +## NOTE: add the base istep dir here. EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/establish_system_smp ## Include sub dirs @@ -46,7 +47,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/establish_system_smp ## NOTE: add new object files when you add a new HWP OBJS = establish_system_smp.o - + ## NOTE: add a new directory onto the vpaths when you add a new HWP ## EXAMPLE: # VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/establish_system_smp/<HWP_dir> diff --git a/src/usr/hwpf/hwp/mc_config/mc_config.C b/src/usr/hwpf/hwp/mc_config/mc_config.C index 173824391..bd02760f7 100644 --- a/src/usr/hwpf/hwp/mc_config/mc_config.C +++ b/src/usr/hwpf/hwp/mc_config/mc_config.C @@ -508,6 +508,20 @@ void* call_mss_eff_config( void *io_pArgs ) return l_StepError.getErrorHandle(); } +// +// Wrapper function to call mss_attr_update +// +void* call_mss_attr_update( void *io_pArgs ) +{ + + IStepError l_StepError; + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update exit" ); + + return l_StepError.getErrorHandle(); +} + }; // end namespace diff --git a/src/usr/hwpf/hwp/mc_config/mc_config.H b/src/usr/hwpf/hwp/mc_config/mc_config.H index 93c5267f8..aed6efa7a 100644 --- a/src/usr/hwpf/hwp/mc_config/mc_config.H +++ b/src/usr/hwpf/hwp/mc_config/mc_config.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/mc_config/mc_config.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * 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 other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/mc_config/mc_config.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ #ifndef __MC_CONFIG_MC_CONFIG_H #define __MC_CONFIG_MC_CONFIG_H @@ -135,6 +134,18 @@ void* call_mss_freq( void * io_pArgs ); */ void* call_mss_eff_config( void * io_pArgs ); +/** + * @brief mss_attr_update + * + * Stub HWP to allow FW to override attributes programmatically + * + * param[in,out] io_pArgs - (normally) a pointer to a TaskArgs struct, + * or NULL. + * return any error logs to istep + * + */ +void* call_mss_attr_update( void *io_pArgs ); + }; // end namespace diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C index a9d2f1a45..91824b288 100644 --- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C +++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C @@ -86,6 +86,22 @@ using namespace TARGETING; using namespace fapi; //***************************************************************************** +// wrapper function to call proc_attr_update +//***************************************************************************** +void * call_proc_attr_update( void * io_pArgs ) +{ + IStepError l_StepError; + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_proc_attr_update entry" ); + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_proc_attr_update exit" ); + + return l_StepError.getErrorHandle(); + +} +//***************************************************************************** // wrapper function to call proc_a_x_pci_dmi_pll_initf //***************************************************************************** void* call_proc_a_x_pci_dmi_pll_initf( void *io_pArgs ) @@ -94,7 +110,7 @@ void* call_proc_a_x_pci_dmi_pll_initf( void *io_pArgs ) IStepError l_StepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_a_x_pci_dmi_pll_initf entry" ); TARGETING::TargetHandleList l_procTargetList; @@ -171,7 +187,7 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs ) IStepError l_StepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_a_x_pci_dmi_pll_setup entry" ); TARGETING::TargetHandleList l_procTargetList; @@ -201,8 +217,8 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs ) if (l_err) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X: proc_a_x_pci_dmi_pll_setup \ - HWP returns error", + "ERROR 0x%.8X: proc_a_x_pci_dmi_pll_setup" + " HWP returns error", l_err->reasonCode()); // capture the target data in the elog @@ -234,7 +250,7 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs ) } } - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_a_x_pci_dmi_pll_setup exit" ); // end task, returning any errorlogs to IStepDisp @@ -252,7 +268,7 @@ errlHndl_t customizeChipRegions(TARGETING::Target* i_procTarget) do{ - size_t l_pgSize = 0; + size_t l_pgSize = 0; // First get the size l_err = deviceRead(i_procTarget, @@ -293,24 +309,24 @@ errlHndl_t customizeChipRegions(TARGETING::Target* i_procTarget) static const size_t PG_START_POS = ( 64-16-4); //prepare the vector to be populated to ATTR_CHIP_REGIONS_TO_ENABLE - TARGETING::ATTR_CHIP_REGIONS_TO_ENABLE_type l_chipRegionData; + TARGETING::ATTR_CHIP_REGIONS_TO_ENABLE_type l_chipRegionData; memset(l_chipRegionData,sizeof(ATTR_CHIP_REGIONS_TO_ENABLE_type),0); //Skip the header uint16_t *l_partialGoodUint16=reinterpret_cast<uint16_t*>( &l_pgData[VPD_CP00_PG_HDR_LENGTH]); - //For customizing the image data, the 16 bit partial good value - //retrieved for the chiplets ( 32 no. ) , should be set from bit 4..19 + //For customizing the image data, the 16 bit partial good value + //retrieved for the chiplets ( 32 no. ) , should be set from bit 4..19 //of the attribute ATTR_CHIP_REGIONS_TO_ENABLE for the processor - for ( uint32_t l_chipRegionIndex = 0 ; + for ( uint32_t l_chipRegionIndex = 0 ; l_chipRegionIndex < MAX_CHIPLETS_PER_PROC ; ++l_chipRegionIndex) { - l_chipRegionData[l_chipRegionIndex] = + l_chipRegionData[l_chipRegionIndex] = l_partialGoodUint16[l_chipRegionIndex]; - l_chipRegionData[l_chipRegionIndex] = + l_chipRegionData[l_chipRegionIndex] = l_chipRegionData[l_chipRegionIndex]<<PG_START_POS; } @@ -326,7 +342,7 @@ errlHndl_t customizeChipRegions(TARGETING::Target* i_procTarget) free(l_pgData); return l_err; - + } //***************************************************************************** @@ -338,7 +354,7 @@ void* call_proc_startclock_chiplets( void *io_pArgs ) IStepError l_StepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_startclock_chiplets entry" ); TARGETING::TargetHandleList l_procTargetList; @@ -384,7 +400,7 @@ void* call_proc_startclock_chiplets( void *io_pArgs ) break; } - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "Running proc_startclock_chiplets HWP on " "target HUID %.8X", TARGETING::get_huid(l_proc_target)); @@ -425,15 +441,15 @@ void* call_proc_startclock_chiplets( void *io_pArgs ) } else { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : proc_startclock_chiplets HWP( )" ); } } - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_startclock_chiplets exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp return l_StepError.getErrorHandle(); } @@ -832,7 +848,7 @@ void* call_proc_scomoverride_chiplets( void *io_pArgs ) if (l_errl) { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : proc_scomoverride_chiplets " "HWP returns error", l_errl->reasonCode()); @@ -855,11 +871,11 @@ void* call_proc_scomoverride_chiplets( void *io_pArgs ) } else { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : proc_scomoverride_chiplets HWP"); } - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_scomoverride_chiplets exit" ); // end task, returning any errorlogs to IStepDisp diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H index 135042cb8..35f034633 100644 --- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H +++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * 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 other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ #ifndef __NEST_CHIPLETS_NEST_CHIPLETS_H #define __NEST_CHIPLETS_NEST_CHIPLETS_H @@ -105,6 +104,17 @@ namespace NEST_CHIPLETS { +/** + * @brief call_proc_attr_update + * + * Stub to enable platforms to override attributes + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any error logs to istep + * + */ +void * call_proc_attr_update( void * io_pArgs ); /** * @brief proc_a_x_pci_dmi_pll_initf diff --git a/src/usr/initservice/istepdispatcher/istep_mbox_msgs.H b/src/usr/initservice/istepdispatcher/istep_mbox_msgs.H index d61d41d65..f07545388 100644 --- a/src/usr/initservice/istepdispatcher/istep_mbox_msgs.H +++ b/src/usr/initservice/istepdispatcher/istep_mbox_msgs.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/initservice/istepdispatcher/istep_mbox_msgs.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * 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 other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/initservice/istepdispatcher/istep_mbox_msgs.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ #ifndef __INITSERVICE_ISTEP_MBOX_MSGS_H #define __INITSERVICE_ISTEP_MBOX_MSGS_H @@ -38,12 +37,24 @@ namespace INITSERVICE const uint32_t SPLESS_MSG = 0x000F0000; const uint32_t ISTEP_WORKER_MSG = 0x00F00000; +const uint32_t ISTEP_MSG_SUCCESS = 0x00F00000; +const uint32_t ISTEP_INVALID_MESSAGE = 0x00F00000; + +// ------------------------------------------------------------------ +// HwSvr Msg Type RC values +enum +{ + HWSVR_MSG_SUCCESS = 0x00, + HWSVR_INVALID_MESSAGE = 0x01, +}; + // ------------------------------------------------------------------ // HwSvr Msg Type Enums enum { HWSVR_BREAKPOINT = 0x00, HWSVR_SYNC_POINT = 0x10, + HWSVR_DO_IOVALID_PROCESSING = 0xC1, }; // ------------------------------------------------------------------ @@ -65,6 +76,8 @@ enum HWSVR_SYNC_POINT, BREAKPOINT = MBOX::FIRST_UNSECURE_MSG | HWSVR_BREAKPOINT, + PROCESS_IOVALID_REQUEST = MBOX::FIRST_UNSECURE_MSG | + HWSVR_DO_IOVALID_PROCESSING, // -------------------------------------------------------------- // Worker Thread Messages diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C index b47eabcac..6b403f2b1 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -39,6 +39,9 @@ #include <kernel/console.H> // printk status +// for VFS::module_load +#include <vfs/vfs.H> + #include <sys/task.h> // tid_t, task_create, etc #include <errl/errlentry.H> // errlHndl_t @@ -53,6 +56,9 @@ #include <targeting/common/targetservice.H> #include <targeting/attrsync.H> + +#include <establish_system_smp.H> + #include <hwpf/plat/fapiPlatAttributeService.H> #include <mbox/mbox_queues.H> // HB_ISTEP_MSGQ @@ -63,6 +69,7 @@ #include "istepdispatcher.H" #include "istepWorker.H" +#include "istep_mbox_msgs.H" #include "splesscommon.H" @@ -485,6 +492,22 @@ errlHndl_t IStepDispatcher::msgHndlr ( void ) handleMoreWorkNeededMsg( (theMsg->data[0] == 1) ); break; + case PROCESS_IOVALID_REQUEST: + TRACFCOMP( g_trac_initsvc, + "msgHndlr : PROCESS_IOVALID_REQUEST" ); + + // make sure the library is loaded + err = VFS::module_load("libestablish_system_smp.so"); + + // if the module loaded ok, do the processing + if( err == NULL ) + { + iv_Msg = theMsg; + handleProcFabIovalidMsg(); + } + break; + + default: // Default Message // This SHOULD be a message from the Fsp with the Step/substep @@ -1037,6 +1060,32 @@ bool IStepDispatcher::checkMpiplMode( ) const return l_isMpiplMode; } +void IStepDispatcher::handleProcFabIovalidMsg( ) +{ + TRACDCOMP( g_trac_initsvc, + ENTER_MRK"IStepDispatcher::handleProcFabIovalidMsg()" ); + + // do hostboot processing for istep + // sys_proc_fab_ipvalid + ESTABLISH_SYSTEM_SMP::host_sys_fab_iovalid_processing( iv_Msg ); + + // Send the message back as a response + msg_respond(iv_msgQ, iv_Msg); + + // if there was an error don't winkle ? + if( iv_Msg->data[0] == HWSVR_MSG_SUCCESS ) + { + TRACFCOMP( g_trac_initsvc, + "$TODO RTC:71447 - winkle all cores"); + } + + TRACDCOMP( g_trac_initsvc, + EXIT_MRK"IStepDispatcher::handleProcFabIovalidMsg()" ); + + iv_Msg = NULL; +} + + } // namespace diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.H b/src/usr/initservice/istepdispatcher/istepdispatcher.H index b9df814f0..3bfdf5eff 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.H +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.H @@ -173,7 +173,7 @@ public: uint8_t & o_subStep ); /** - * @brief This function will return whether or not we are in MPIPL mode + * @brief This function will return whether or not we are in MPIPL mode * * @return bool - flag indicating whether we're in MPIPL mode * @retval false if not in MPIPL mode @@ -193,6 +193,8 @@ public: */ bool getIStepMode( ) const; + + protected: /** @@ -267,6 +269,15 @@ private: void handleMoreWorkNeededMsg ( bool i_first ); /** + * @brief This function is used to handle the message from the FSP + * telling hostboot to execute the processing required for + * the sys_proc_fab_iovalid istep + * + * @return NONE. + */ + void handleProcFabIovalidMsg( void ); + + /** * @brief This function is used to handle the single Istep requests from * outside sources. * @@ -288,9 +299,9 @@ private: * @return bool - whether we are SPLESS. */ bool spLess ( void ); - + /** - * @brief This function will check whether or not we are in MPIPL mode + * @brief This function will check whether or not we are in MPIPL mode * * @return bool - flag indicating whether we're in MPIPL mode * @retval false if not in MPIPL mode diff --git a/src/usr/initservice/istepdispatcher/makefile b/src/usr/initservice/istepdispatcher/makefile index 041d27794..fbcf0ea18 100644 --- a/src/usr/initservice/istepdispatcher/makefile +++ b/src/usr/initservice/istepdispatcher/makefile @@ -5,7 +5,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2011,2012 +# COPYRIGHT International Business Machines Corp. 2011,2013 # # p1 # @@ -23,6 +23,7 @@ ROOTPATH = ../../../.. MODULE = istepdisp +EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/establish_system_smp EXTRAINCDIR += ${ROOTPATH}/src/include/usr/ecmddatabuffer EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/fapi EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/plat |