summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorElizabeth Liner <eliner@us.ibm.com>2016-04-06 12:19:58 -0500
committerStephen Cprek <smcprek@us.ibm.com>2016-04-21 13:51:38 -0500
commite8362c0dc5cee2e890d0c9888ff7092a20b7ae6f (patch)
treec725ed4062d31557e0bdf1f06aa2f1d6250729d1 /src
parent0d542d4b3b27cef23aa0547eabd72b052b8552ab (diff)
downloadtalos-hostboot-e8362c0dc5cee2e890d0c9888ff7092a20b7ae6f.tar.gz
talos-hostboot-e8362c0dc5cee2e890d0c9888ff7092a20b7ae6f.zip
Adding infrastructure support for Hostboot istep 20.1
The FSP loads the payload in 20.1, but in the PowerVM on BMC project, we're removing the FSP and Hostboot has to load the payload instead. Isteps 20 will also include HDAT changes. (This is a forwardport from the already-reviewed master-p8 change) Change-Id: I271a13d96c364e696bf3064d5d43607f7057467b RTC:147281 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22975 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/build/tools/listdeps.pl2
-rw-r--r--src/include/usr/isteps/istep20list.H93
-rw-r--r--src/include/usr/isteps/istepmasterlist.H8
-rw-r--r--src/makefile1
-rw-r--r--src/usr/isteps/istep20/call_host_load_payload.C50
-rw-r--r--src/usr/isteps/istep20/makefile30
-rw-r--r--src/usr/isteps/makefile1
7 files changed, 182 insertions, 3 deletions
diff --git a/src/build/tools/listdeps.pl b/src/build/tools/listdeps.pl
index 8013fc858..8e9997062 100755
--- a/src/build/tools/listdeps.pl
+++ b/src/build/tools/listdeps.pl
@@ -178,6 +178,7 @@ else
"libistep14.so",
"libistep15.so",
"libistep16.so",
+ "libistep20.so",
"libistep21.so",
);
}
@@ -235,6 +236,7 @@ my %istepFiles = (
"libistep14.so" => "istep14list.H" ,
"libistep15.so" => "istep15list.H" ,
"libistep16.so" => "istep16list.H" ,
+ "libistep20.so" => "istep20list.H" ,
"libistep21.so" => "istep21list.H" ,
);
diff --git a/src/include/usr/isteps/istep20list.H b/src/include/usr/isteps/istep20list.H
new file mode 100644
index 000000000..144ae0ff2
--- /dev/null
+++ b/src/include/usr/isteps/istep20list.H
@@ -0,0 +1,93 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/isteps/istep20list.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2012,2016 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef __ISTEPS_ISTEP20LIST_H
+#define __ISTEPS_ISTEP20LIST_H
+
+/**
+ * @file istep20list.H
+ *
+ * IStep 20 Load Payload
+ *
+ * 20.1 host_load_payload
+ * : Load Payload
+ *
+ * Please see the note in initsvcstructs.H for description of
+ * the ISTEPNAME macro.
+ *
+ */
+
+#include <initservice/initsvcstructs.H>
+#include <initservice/initsvcreasoncodes.H>
+#include <config.h>
+
+namespace ISTEP_20
+{
+
+/**
+ * @brief host_load_payload
+ *
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any errlogs to istep
+ *
+ */
+void* call_host_load_payload( void *io_pArgs );
+
+};
+
+
+namespace INITSERVICE
+{
+ const TaskInfo g_istep20[] = {
+ {
+ "", // dummy, index 0
+ NULL,
+ { NONE, EXT_IMAGE, IPL_NOOP, false }
+ },
+ {
+ ISTEPNAME(20,01,"host_load_payload"),
+ ISTEP_20::call_host_load_payload,
+ { START_FN, EXT_IMAGE, MPIPL_OP | NORMAL_IPL_OP, false }
+ },
+
+};
+
+const DepModInfo g_istep20Dependancies = {
+ {
+ DEP_LIB(libistep20.so),
+ DEP_LIB(libxz.so),
+ NULL
+ }
+};
+
+const ExtTaskInfo g_istep20TaskList = {
+ &(g_istep20[0]),
+ ( sizeof(g_istep20)/sizeof(TaskInfo) ),
+ &g_istep20Dependancies
+};
+
+}; // end namespace
+
+#endif
diff --git a/src/include/usr/isteps/istepmasterlist.H b/src/include/usr/isteps/istepmasterlist.H
index 3b244d8de..d77f39e47 100644
--- a/src/include/usr/isteps/istepmasterlist.H
+++ b/src/include/usr/isteps/istepmasterlist.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2016 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -76,7 +78,7 @@
// istep 17, FSP only
#include "istep18list.H"
// istep 19, FSP only
-// istep 20, FSP only
+#include "istep20list.H"
#include "istep21list.H"
namespace INITSERVICE
@@ -104,7 +106,7 @@ const ExtTaskInfo g_isteps[] = {
{ NULL, 0, NULL}, // FSP IStep 17
INITSERVICE::g_istep18TaskList, // IStep 18
{ NULL, 0, NULL }, // FSP IStep 19
- { NULL, 0, NULL }, // FSP IStep 20
+ INITSERVICE::g_istep20TaskList, // IStep 20
INITSERVICE::g_istep21TaskList // IStep 21
//
// add further istep lists at the end.
diff --git a/src/makefile b/src/makefile
index 811f31d48..b389728da 100644
--- a/src/makefile
+++ b/src/makefile
@@ -141,6 +141,7 @@ EXTENDED_MODULES += istep13
EXTENDED_MODULES += istep14
EXTENDED_MODULES += istep15
EXTENDED_MODULES += istep16
+EXTENDED_MODULES += istep20
EXTENDED_MODULES += istep21
EXTENDED_MODULES += isteps
EXTENDED_MODULES += targeting
diff --git a/src/usr/isteps/istep20/call_host_load_payload.C b/src/usr/isteps/istep20/call_host_load_payload.C
new file mode 100644
index 000000000..5f38ef673
--- /dev/null
+++ b/src/usr/isteps/istep20/call_host_load_payload.C
@@ -0,0 +1,50 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep20/call_host_load_payload.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2016 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+
+#include <trace/interface.H>
+#include <errl/errlentry.H>
+#include <initservice/isteps_trace.H>
+#include <isteps/hwpisteperror.H>
+#include <isteps/istep_reasoncodes.H>
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_20
+{
+
+void* call_host_load_payload (void *io_pArgs)
+{
+ errlHndl_t l_errl = NULL;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_host_start_payload entry" );
+
+ return l_errl;
+}
+
+};
diff --git a/src/usr/isteps/istep20/makefile b/src/usr/isteps/istep20/makefile
new file mode 100644
index 000000000..f98bb7e9b
--- /dev/null
+++ b/src/usr/isteps/istep20/makefile
@@ -0,0 +1,30 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/isteps/istep20/makefile $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+ROOTPATH = ../../../..
+MODULE = istep20
+
+OBJS += call_host_load_payload.o
+
+include ${ROOTPATH}/config.mk
diff --git a/src/usr/isteps/makefile b/src/usr/isteps/makefile
index ea4c29168..4448caa3a 100644
--- a/src/usr/isteps/makefile
+++ b/src/usr/isteps/makefile
@@ -36,6 +36,7 @@ SUBDIRS+=istep13.d
SUBDIRS+=istep14.d
SUBDIRS+=istep15.d
SUBDIRS+=istep16.d
+SUBDIRS+=istep20.d
SUBDIRS+=istep21.d
OBJS += hwpisteperror.o
OpenPOWER on IntegriCloud