diff options
author | Elizabeth Liner <eliner@us.ibm.com> | 2016-04-06 12:19:58 -0500 |
---|---|---|
committer | Stephen Cprek <smcprek@us.ibm.com> | 2016-04-21 13:51:38 -0500 |
commit | e8362c0dc5cee2e890d0c9888ff7092a20b7ae6f (patch) | |
tree | c725ed4062d31557e0bdf1f06aa2f1d6250729d1 /src | |
parent | 0d542d4b3b27cef23aa0547eabd72b052b8552ab (diff) | |
download | talos-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-x | src/build/tools/listdeps.pl | 2 | ||||
-rw-r--r-- | src/include/usr/isteps/istep20list.H | 93 | ||||
-rw-r--r-- | src/include/usr/isteps/istepmasterlist.H | 8 | ||||
-rw-r--r-- | src/makefile | 1 | ||||
-rw-r--r-- | src/usr/isteps/istep20/call_host_load_payload.C | 50 | ||||
-rw-r--r-- | src/usr/isteps/istep20/makefile | 30 | ||||
-rw-r--r-- | src/usr/isteps/makefile | 1 |
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 |