diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2010-06-07 14:41:20 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2010-06-07 14:41:20 -0500 |
commit | 546a015f74fab0c4e359cf97f289ff26d6481844 (patch) | |
tree | bd2643a5d512af932090fb09748aea8aa8f61521 /src/include | |
parent | cd86583d084a4227dbf6a7cca2934eaad2b060d1 (diff) | |
download | talos-hostboot-546a015f74fab0c4e359cf97f289ff26d6481844.tar.gz talos-hostboot-546a015f74fab0c4e359cf97f289ff26d6481844.zip |
Create init process, fix scheduler bugs.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/kernel/scheduler.H | 4 | ||||
-rw-r--r-- | src/include/kernel/taskmgr.H | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/include/kernel/scheduler.H b/src/include/kernel/scheduler.H index 93854ac3b..31cdde70e 100644 --- a/src/include/kernel/scheduler.H +++ b/src/include/kernel/scheduler.H @@ -15,7 +15,8 @@ class Scheduler void setNextRunnable(); protected: - Scheduler() : iv_direction(false) {}; + Scheduler(cpu_t* cpu) : + iv_direction(false), iv_idleTask(NULL), iv_cpu(cpu) {}; ~Scheduler() {}; void setIdleTask(task_t* t) { iv_idleTask = t; }; @@ -26,6 +27,7 @@ class Scheduler Util::Lockfree::Stack<task_t> iv_taskList[2]; task_t* iv_idleTask; + cpu_t* iv_cpu; }; #endif diff --git a/src/include/kernel/taskmgr.H b/src/include/kernel/taskmgr.H index fbaf94f8a..34267324c 100644 --- a/src/include/kernel/taskmgr.H +++ b/src/include/kernel/taskmgr.H @@ -9,9 +9,10 @@ class TaskManager static task_t* getCurrentTask(); static void setCurrentTask(task_t* t); - typedef void(*task_fn_t)(); + typedef void(*task_fn_t)(void*); friend class CpuManager; + friend class Kernel; protected: TaskManager(); ~TaskManager() {}; @@ -24,7 +25,7 @@ class TaskManager tid_t iv_nextTid; - static void idleTaskLoop(); + static void idleTaskLoop(void*); task_t* _createIdleTask(); task_t* _createTask(task_fn_t, void*, bool); }; |