Add a basic scheduler with threads #18

Merged
apio merged 19 commits from threads into restart 2022-12-07 16:11:59 +00:00

19 Commits

Author SHA1 Message Date
6f05feb55f
Add sleeping mechanism
All checks were successful
continuous-integration/drone/pr Build is passing
2022-12-07 15:55:58 +01:00
71d2b492ea
Add accessors for when you're sure a linked list is not empty
All checks were successful
continuous-integration/drone/pr Build is passing
2022-12-07 15:21:50 +01:00
6cd25fb9b1
Check for runnable threads
All checks were successful
continuous-integration/drone/pr Build is passing
2022-12-07 15:17:20 +01:00
021ea1063b
Add a state to Thread 2022-12-07 15:14:58 +01:00
48fe2d4b04
Initialize and demo the scheduler
All checks were successful
continuous-integration/drone/pr Build is passing
2022-12-07 15:04:11 +01:00
c561b0b310
x86_64: Invoke the scheduler every millisecond 2022-12-07 15:04:02 +01:00
f97e392f89
Add a Scheduler!! 2022-12-07 15:03:34 +01:00
ad11aa719e
Add a Thread class which can be part of a DoublyLinkedList 2022-12-07 15:02:46 +01:00
b9b7d1e201
KernelVM: clean up a bit 2022-12-07 14:48:50 +01:00
8c04788793
Add a Stack convenience class 2022-12-07 14:48:24 +01:00
c5476115df
CPU.h: pragma once 2022-12-07 14:48:08 +01:00
b93a208f22
Make idle_loop noreturn 2022-12-07 14:46:56 +01:00
98a55b2c13
Bitmap: Fix crash by attempting to memset -1 bits (UINT64_MAX) 2022-12-07 14:46:11 +01:00
3248041aef
Bitmap: short circuit on 0-byte clears 2022-12-07 14:32:41 +01:00
cbf061d18f
Make build-debug.sh also add debug symbols to luna 2022-12-07 14:32:07 +01:00
7c557b2eb4
Timer: add raw_ticks 2022-12-07 14:31:40 +01:00
7db1a8253b
CPU: Add an idle_loop method 2022-12-07 12:26:09 +01:00
f456eb3b6a
Run clang-format 2022-12-07 12:25:42 +01:00
56205a4a2f
Add a should_invoke_scheduler method 2022-12-07 12:15:30 +01:00