summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2010-06-07 14:41:20 -0500
committerPatrick Williams <iawillia@us.ibm.com>2010-06-07 14:41:20 -0500
commit546a015f74fab0c4e359cf97f289ff26d6481844 (patch)
treebd2643a5d512af932090fb09748aea8aa8f61521 /src/include
parentcd86583d084a4227dbf6a7cca2934eaad2b060d1 (diff)
downloadtalos-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.H4
-rw-r--r--src/include/kernel/taskmgr.H5
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);
};
OpenPOWER on IntegriCloud