aboutsummaryrefslogtreecommitdiff
path: root/kernel/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/init.c')
-rw-r--r--kernel/init.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/kernel/init.c b/kernel/init.c
new file mode 100644
index 0000000..5a9a2e9
--- /dev/null
+++ b/kernel/init.c
@@ -0,0 +1,29 @@
+#include "init.h"
+#include "mux/debug.h"
+#include "mux/sched.h"
+#include "mux/idle.h"
+#include "mux/clock.h"
+#include "mcu/context.h"
+
+#define HZ 100
+
+DECLARE_TASK(task_idle, IDLE_STACK_SIZE, idle_entry);
+DECLARE_TASK(tcb1, DEFAULT_STACK_SIZE, task1);
+DECLARE_TASK(tcb2, DEFAULT_STACK_SIZE, task2);
+
+int main(int argc, char *argv[]) {
+ cli();
+
+ setup();
+
+ spawn_idle(&task_idle, 0);
+ spawn(&tcb1, 1);
+ spawn(&tcb2, 2);
+
+ sei();
+ clock_init(1000/HZ, schedule);
+ clock_start();
+ sched_init();
+ panic(); //should never reach here
+ while(1){}
+} \ No newline at end of file