summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/start_payload
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwpf/hwp/start_payload')
-rw-r--r--src/usr/hwpf/hwp/start_payload/HBconfig4
-rw-r--r--src/usr/hwpf/hwp/start_payload/start_payload.C59
2 files changed, 13 insertions, 50 deletions
diff --git a/src/usr/hwpf/hwp/start_payload/HBconfig b/src/usr/hwpf/hwp/start_payload/HBconfig
index 3ab9e3e8d..70fdcb55e 100644
--- a/src/usr/hwpf/hwp/start_payload/HBconfig
+++ b/src/usr/hwpf/hwp/start_payload/HBconfig
@@ -2,3 +2,7 @@ config SET_NOMINAL_PSTATE
default n
help
Set the PState to Nominal just before starting the payload.
+config START_OCC_DURING_BOOT
+ default n
+ help
+ Activates all the OCCs during IPL
diff --git a/src/usr/hwpf/hwp/start_payload/start_payload.C b/src/usr/hwpf/hwp/start_payload/start_payload.C
index 19fb2dcec..920edcc0b 100644
--- a/src/usr/hwpf/hwp/start_payload/start_payload.C
+++ b/src/usr/hwpf/hwp/start_payload/start_payload.C
@@ -86,7 +86,6 @@
#include <sys/mm.h>
#include <algorithm>
#include <config.h>
-
// Uncomment these files as they become available:
// #include "host_start_payload/host_start_payload.H"
@@ -313,58 +312,18 @@ void* call_host_runtime_setup( void *io_pArgs )
break;
}
- //Start OCC in AVP
- if( is_avp_load() )
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "Starting OCC" );
-
- //Load modules needed by OCC
- bool occ_loaded = false;
-
- if ( !VFS::module_is_loaded( "libocc.so" ) )
- {
- l_err = VFS::module_load( "libocc.so" );
-
- if ( l_err )
- {
- // load module returned with errl set
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Could not load occ module" );
- // break from do loop if error occured
- break;
- }
- occ_loaded = true;
- }
-
- l_err = HBOCC::loadnStartAllOccs();
- if(l_err)
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- ERR_MRK"loadnStartAllOccs failed" );
- }
-
- //make sure we always unload the module
- if (occ_loaded)
- {
- errlHndl_t l_tmpErrl = NULL;
- l_tmpErrl = VFS::module_unload( "libocc.so" );
- if ( l_tmpErrl )
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- ERR_MRK"Error unloading libocc module" );
- if(l_err)
- {
- errlCommit( l_tmpErrl, HWPF_COMP_ID );
- }
- else
- {
- l_err = l_tmpErrl;
- }
- }
- }
+ bool l_activateOCC = is_avp_load();
+#ifdef CONFIG_START_OCC_DURING_BOOT
+ l_activateOCC = true;
+#endif
+ if(l_activateOCC)
+ {
+ l_err = HBOCC::activateOCC();
if (l_err)
{
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "activateOCC failed");
break;
}
}
OpenPOWER on IntegriCloud