From 1d05efd6126377049f153c443fb2ca3ba8a2bb95 Mon Sep 17 00:00:00 2001
From: Christian Cunningham <cc@localhost>
Date: Sun, 2 Jan 2022 16:56:56 -0800
Subject: Started Preparing Context Switching

---
 src/sys/core.c       | 2 --
 src/sys/schedule.h   | 7 ++++++-
 src/sys/schedule.q.c | 5 -----
 3 files changed, 6 insertions(+), 8 deletions(-)

(limited to 'src')

diff --git a/src/sys/core.c b/src/sys/core.c
index 079fc78..fda4d86 100644
--- a/src/sys/core.c
+++ b/src/sys/core.c
@@ -33,8 +33,6 @@ void sysinit(void)
 	// Enable Timer
 	// As an IRQ
 	store32(1<<0, IRQ_BASIC_ENABLE);
-	// As a  FIQ
-	//store32(0xC0, FIQ_CONTROL);
 	// Get the frequency
 	cntfrq = read_cntfrq();
 	// Clear cntv interrupt and set next 1 second timer
diff --git a/src/sys/schedule.h b/src/sys/schedule.h
index 2fd6acd..c8e938d 100644
--- a/src/sys/schedule.h
+++ b/src/sys/schedule.h
@@ -1,6 +1,12 @@
 #ifndef SYS_SCHEDULE_H
 #define SYS_SCHEDULE_H
 
+#define STACK_SIZE 0x1000
+struct TaskMemory {
+	unsigned long reg[16];
+	unsigned char stack[STACK_SIZE];
+};
+
 struct Task {
 	unsigned char priority;
 	void (*task)(void);
@@ -23,7 +29,6 @@ struct Scheduler {
 #endif
 
 void add_fxn(void (*task)(void), unsigned char priority);
-void add_task(struct Task*);
 unsigned int get_task_length(void);
 void execute_task(void);
 
diff --git a/src/sys/schedule.q.c b/src/sys/schedule.q.c
index 818ba66..88488da 100644
--- a/src/sys/schedule.q.c
+++ b/src/sys/schedule.q.c
@@ -16,11 +16,6 @@ void add_fxn(void (*task)(void), unsigned char priority)
 	struct Task* t = (struct Task*)malloc(sizeof(struct Task));
 	t->priority = priority;
 	t->task = task;
-	add_task(t);
-}
-
-void add_task(struct Task* t)
-{
 	pushq(scheduler.tasks, t);
 }
 
-- 
cgit v1.2.1