diff options
author | Raja Das <rajadas2@in.ibm.com> | 2017-06-05 08:09:25 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-06-06 05:43:32 -0400 |
commit | e7bc187c7d48108c96391122975e2be3c20d7d3f (patch) | |
tree | ee234aa5daa402041ca0bc180f5592f9eaf7e6b6 /src/sbefw | |
parent | 38e02e49a11ff8a82b4e2b13687409d0ffd98f80 (diff) | |
download | talos-sbe-e7bc187c7d48108c96391122975e2be3c20d7d3f.tar.gz talos-sbe-e7bc187c7d48108c96391122975e2be3c20d7d3f.zip |
Supported Stack Usage feature on HW via cronus
Change-Id: I7b5eaa1ee484e4fbd31f12146d3d47dd24344255
RTC: 175229
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41360
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/sbefw')
-rw-r--r-- | src/sbefw/sbeglobals.C | 9 | ||||
-rw-r--r-- | src/sbefw/sbeglobals.H | 14 | ||||
-rw-r--r-- | src/sbefw/sbemain.C | 8 |
3 files changed, 19 insertions, 12 deletions
diff --git a/src/sbefw/sbeglobals.C b/src/sbefw/sbeglobals.C index 74257635..1a4f43d7 100644 --- a/src/sbefw/sbeglobals.C +++ b/src/sbefw/sbeglobals.C @@ -25,6 +25,15 @@ #include "sbetrace.H" #include "sbeglobals.H" +//////////////////////////////////////////////////////////////// +//// @brief Stacks for Non-critical Interrupts and Threads +////////////////////////////////////////////////////////////////// +// Moved it out-side the scope of Global Class for symbol generation in syms +uint8_t sbe_Kernel_NCInt_stack[SBE_NONCRITICAL_STACK_SIZE]; +uint8_t sbeCommandReceiver_stack[SBE_THREAD_CMD_RECV_STACK_SIZE]; +uint8_t sbeSyncCommandProcessor_stack[SBE_THREAD_SYNC_CMD_PROC_STACK_SIZE]; +uint8_t sbeAsyncCommandProcessor_stack[SBE_THREAD_ASYNC_CMD_PROC_STACK_SIZE]; + SBEGlobalsSingleton* sbeGlobal = &SBEGlobalsSingleton::getInstance(); SBEGlobalsSingleton& SBEGlobalsSingleton::getInstance() { diff --git a/src/sbefw/sbeglobals.H b/src/sbefw/sbeglobals.H index 8a958aca..37bfa2a9 100644 --- a/src/sbefw/sbeglobals.H +++ b/src/sbefw/sbeglobals.H @@ -33,6 +33,12 @@ #define SBE_GLOBAL sbeGlobal +// Extern declartion, Defined in sbeglobal.C +extern uint8_t sbe_Kernel_NCInt_stack[SBE_NONCRITICAL_STACK_SIZE]; +extern uint8_t sbeCommandReceiver_stack[SBE_THREAD_CMD_RECV_STACK_SIZE]; +extern uint8_t sbeSyncCommandProcessor_stack[SBE_THREAD_SYNC_CMD_PROC_STACK_SIZE]; +extern uint8_t sbeAsyncCommandProcessor_stack[SBE_THREAD_ASYNC_CMD_PROC_STACK_SIZE]; + class SBEGlobalsSingleton { public: @@ -75,14 +81,6 @@ class SBEGlobalsSingleton sbeHostAddr_t hostFFDCAddr; //////////////////////////////////////////////////////////////// - //// @brief Stacks for Non-critical Interrupts and Threads - ////////////////////////////////////////////////////////////////// - uint8_t sbe_Kernel_NCInt_stack[SBE_NONCRITICAL_STACK_SIZE]; - uint8_t sbeCommandReceiver_stack[SBE_THREAD_CMD_RECV_STACK_SIZE]; - uint8_t sbeSyncCommandProcessor_stack[SBE_THREAD_SYNC_CMD_PROC_STACK_SIZE]; - uint8_t sbeAsyncCommandProcessor_stack[SBE_THREAD_ASYNC_CMD_PROC_STACK_SIZE]; - - //////////////////////////////////////////////////////////////// //// @brief PkThread structure for SBE Command Receiver thread ////////////////////////////////////////////////////////////////// PkThread sbeCommandReceiver_thread; diff --git a/src/sbefw/sbemain.C b/src/sbefw/sbemain.C index 663705b8..63707b90 100644 --- a/src/sbefw/sbemain.C +++ b/src/sbefw/sbemain.C @@ -194,7 +194,7 @@ int sbeInitThreads(void) l_rc = createAndResumeThreadHelper(&SBE_GLOBAL->sbeCommandReceiver_thread, sbeCommandReceiver_routine, (void *)0, - (PkAddress)SBE_GLOBAL->sbeCommandReceiver_stack, + (PkAddress)sbeCommandReceiver_stack, SBE_THREAD_CMD_RECV_STACK_SIZE, THREAD_PRIORITY_5); if (l_rc) @@ -206,7 +206,7 @@ int sbeInitThreads(void) l_rc = createAndResumeThreadHelper(&SBE_GLOBAL->sbeSyncCommandProcessor_thread, sbeSyncCommandProcessor_routine, (void *)0, - (PkAddress)SBE_GLOBAL->sbeSyncCommandProcessor_stack, + (PkAddress)sbeSyncCommandProcessor_stack, SBE_THREAD_SYNC_CMD_PROC_STACK_SIZE, THREAD_PRIORITY_7); if (l_rc) @@ -218,7 +218,7 @@ int sbeInitThreads(void) l_rc = createAndResumeThreadHelper(&SBE_GLOBAL->sbeAsyncCommandProcessor_thread, sbeAsyncCommandProcessor_routine, (void *)0, - (PkAddress)SBE_GLOBAL->sbeAsyncCommandProcessor_stack, + (PkAddress)sbeAsyncCommandProcessor_stack, SBE_THREAD_ASYNC_CMD_PROC_STACK_SIZE, THREAD_PRIORITY_6); if (l_rc) @@ -253,7 +253,7 @@ uint32_t main(int argc, char **argv) { // initializes kernel data - // stack, threads, timebase, timers, etc. - l_rc = pk_initialize((PkAddress)SBE_GLOBAL->sbe_Kernel_NCInt_stack, + l_rc = pk_initialize((PkAddress)sbe_Kernel_NCInt_stack, SBE_NONCRITICAL_STACK_SIZE, 0, SBE_GLOBAL->sbefreq ); |