summaryrefslogtreecommitdiffstats
path: root/src/sbefw
diff options
context:
space:
mode:
authorRaja Das <rajadas2@in.ibm.com>2017-06-05 08:09:25 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2017-06-06 05:43:32 -0400
commite7bc187c7d48108c96391122975e2be3c20d7d3f (patch)
treeee234aa5daa402041ca0bc180f5592f9eaf7e6b6 /src/sbefw
parent38e02e49a11ff8a82b4e2b13687409d0ffd98f80 (diff)
downloadtalos-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.C9
-rw-r--r--src/sbefw/sbeglobals.H14
-rw-r--r--src/sbefw/sbemain.C8
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 );
OpenPOWER on IntegriCloud