summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice/istepdispatcher/istepdispatcher.C
diff options
context:
space:
mode:
authorRichard J. Knight <rjknight@us.ibm.com>2013-04-19 07:17:37 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-05-16 09:38:39 -0500
commit4b1f946d7558f8ca95c87d89e637513f18e87818 (patch)
tree5c70bf865fb77bf34ca08dc9b2ed461a933657d3 /src/usr/initservice/istepdispatcher/istepdispatcher.C
parent91572a1c887aac732ff84e60f5a2be4e25f650ac (diff)
downloadtalos-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>
Diffstat (limited to 'src/usr/initservice/istepdispatcher/istepdispatcher.C')
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C49
1 files changed, 49 insertions, 0 deletions
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
OpenPOWER on IntegriCloud