summaryrefslogtreecommitdiffstats
path: root/src/occ_405/thread/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/occ_405/thread/thread.h')
-rwxr-xr-xsrc/occ_405/thread/thread.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/occ_405/thread/thread.h b/src/occ_405/thread/thread.h
new file mode 100755
index 0000000..3106a7c
--- /dev/null
+++ b/src/occ_405/thread/thread.h
@@ -0,0 +1,88 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/occ_405/thread/thread.h $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2011,2015 */
+/* [+] 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 _THREAD_H
+#define _THREAD_H
+
+#include <occ_common.h>
+#include "ssx.h"
+
+// Thread priorities for Thread creation.
+typedef enum
+{
+ THREAD_PRIORITY_0, // Reserved for high priority
+ THREAD_PRIORITY_1, // Reserved for high priority
+ THREAD_PRIORITY_2,
+ THREAD_PRIORITY_3,
+ THREAD_PRIORITY_4,
+ THREAD_PRIORITY_5,
+ THREAD_PRIORITY_6,
+ THREAD_PRIORITY_7,
+ THREAD_PRIORITY_8,
+}THREAD_PRIORITY;
+
+// NOTE: Stack sizes are defined by entity
+// - Non-Critical Stack used by non-critical interrupt handlers, including timer callbacks
+// - Critical Stack used for critical interrupts
+// - Stacks for each thread
+#define NONCRITICAL_STACK_SIZE 8192 // 8kB
+#define CRITICAL_STACK_SIZE 4096 // 4kB
+#define THREAD_STACK_SIZE 4096 // 4kB
+
+extern uint8_t main_thread_stack[THREAD_STACK_SIZE];
+extern uint8_t Cmd_hndl_thread_stack[THREAD_STACK_SIZE];
+extern uint8_t App_thread_stack[THREAD_STACK_SIZE];
+extern uint8_t testAppletThreadStack[THREAD_STACK_SIZE];
+
+/*----------------------------------------------------------*/
+/* SsxThread Declaration */
+/*----------------------------------------------------------*/
+
+// Our idle thread. See main_thread_routine
+extern SsxThread Main_thread;
+
+// Command handler thread
+extern SsxThread Cmd_Hndl_thread;
+
+// Application manager thread
+extern SsxThread App_thread;
+
+// Test applet thread
+extern SsxThread TestAppletThread;
+
+// Application manager thread
+extern SsxThread Dcom_thread;
+
+void Main_thread_routine(void *private);
+
+void Cmd_Hndl_thread_routine(void *arg);
+
+void App_thread_routine(void *arg);
+
+void Dcom_thread_routine(void *arg);
+
+void testAppletThreadRoutine(void *arg);
+
+#endif //_THREAD_H
OpenPOWER on IntegriCloud