aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-03-22 23:50:57 -0700
committerChristian Cunningham <cc@localhost>2022-03-22 23:50:57 -0700
commitf6ff28ad8eb5e88a1985706bfc94657704e9c3f4 (patch)
treee5b586401106b0230176ec02e70e18637d77547e
parente2794c37e90f963773ae2f4c0f782db922488b4f (diff)
Make arbitrary amounts of priorities
Without affecting maximum static thread count
-rw-r--r--include/sys/schedule.h6
-rw-r--r--src/cpu/irq.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/include/sys/schedule.h b/include/sys/schedule.h
index cfb4813..1e3b0d7 100644
--- a/include/sys/schedule.h
+++ b/include/sys/schedule.h
@@ -2,10 +2,10 @@
#define SYS_SCHEDULE_H
#include <lib/queue.h>
-#define TQUEUE_MAX 0x400
+#define TQUEUE_MAX 0x2000
#define STACK_SIZE 0x4000
-#define PRIORITIES 8
-#define MAX_THREADS TQUEUE_MAX*PRIORITIES
+#define PRIORITIES 20
+#define MAX_THREADS TQUEUE_MAX
enum ThreadStatus {
THREAD_READY = 0,
diff --git a/src/cpu/irq.c b/src/cpu/irq.c
index 3bd28e6..dcca9e8 100644
--- a/src/cpu/irq.c
+++ b/src/cpu/irq.c
@@ -49,7 +49,7 @@ unsigned long c_irq_handler(void)
//}
// Add task to handle the data
else {
- add_thread(handle_data, (void*)data, 7);
+ add_thread(handle_data, (void*)data, PRIORITIES-1);
return 1;
}
}