summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Mannens <jake72360@gmail.com>2018-07-08 01:55:48 +1000
committerJake Mannens <jake72360@gmail.com>2018-07-08 01:55:48 +1000
commitb99a1b58d63dfefb319eecb564c07a4029e02233 (patch)
treec0557d3c775928d106a5c26c765b0063be96b936
parent70b141b3af85771f36119165e072c1c45d64de84 (diff)
Moved the 'ticks' variable from kmain.c to timer.s.
Added the prototype for userspace_init() to sched.h removing the need to the extern declaration in kmain.c.
-rw-r--r--include/kernel/sched.h2
-rw-r--r--kernel/kmain.c5
-rw-r--r--kernel/timer.s4
3 files changed, 5 insertions, 6 deletions
diff --git a/include/kernel/sched.h b/include/kernel/sched.h
index fa8e036..afced68 100644
--- a/include/kernel/sched.h
+++ b/include/kernel/sched.h
@@ -23,4 +23,6 @@ struct task_struct {
struct task_state state;
} __attribute__((packed));
+void userspace_init(void);
+
#endif
diff --git a/kernel/kmain.c b/kernel/kmain.c
index 1828ad2..5b2fe91 100644
--- a/kernel/kmain.c
+++ b/kernel/kmain.c
@@ -1,13 +1,10 @@
#include <kernel/con.h>
#include <kernel/memory.h>
+#include <kernel/sched.h>
#include <kernel/sys.h>
#include <stdint.h>
#include <sys/types.h>
-extern void userspace_init(void);
-
-uint32_t ticks = 0;
-
void kmain(void) {
con_init();
diff --git a/kernel/timer.s b/kernel/timer.s
index 53c81ed..3723782 100644
--- a/kernel/timer.s
+++ b/kernel/timer.s
@@ -1,8 +1,8 @@
+global ticks
global timer_init
extern register_isr
-; TODO: move this someplace safe (not kmain.c)
-extern ticks
+ticks: dd 0
tick_handler:
push ax