asleepymoon
asleepymoon merged pull request asleepymoon/Luna#18 2022-12-07 16:11:59 +00:00
Add a basic scheduler with threads
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-07 16:07:05 +00:00
986aa01948 size_t -> usize
asleepymoon pushed to threads at asleepymoon/Luna 2022-12-07 14:56:34 +00:00
6f05feb55f Add sleeping mechanism
asleepymoon pushed to threads at asleepymoon/Luna 2022-12-07 14:22:21 +00:00
71d2b492ea Add accessors for when you're sure a linked list is not empty
asleepymoon pushed to threads at asleepymoon/Luna 2022-12-07 14:17:52 +00:00
6cd25fb9b1 Check for runnable threads
021ea1063b Add a state to Thread
Compare 2 commits »
asleepymoon created pull request asleepymoon/Luna#18 2022-12-07 14:07:06 +00:00
WIP: Add a basic scheduler with threads
asleepymoon pushed to threads at asleepymoon/Luna 2022-12-07 14:04:42 +00:00
48fe2d4b04 Initialize and demo the scheduler
c561b0b310 x86_64: Invoke the scheduler every millisecond
f97e392f89 Add a Scheduler!!
ad11aa719e Add a Thread class which can be part of a DoublyLinkedList
b9b7d1e201 KernelVM: clean up a bit
Compare 5 commits »
asleepymoon pushed to threads at asleepymoon/Luna 2022-12-07 13:49:01 +00:00
8c04788793 Add a Stack convenience class
c5476115df CPU.h: pragma once
b93a208f22 Make idle_loop noreturn
98a55b2c13 Bitmap: Fix crash by attempting to memset -1 bits (UINT64_MAX)
3248041aef Bitmap: short circuit on 0-byte clears
Compare 10 commits »
asleepymoon created branch threads in asleepymoon/Luna 2022-12-07 13:49:01 +00:00
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-07 10:48:17 +00:00
beab3454b5 kernel: Enable -Wsign-conversion and -Wcast-align
1badc40a4a Run include-what-you-use everywhere
Compare 2 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-07 10:23:05 +00:00
c2927de191 Remove unused includes
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-07 10:13:51 +00:00
a3b69a0cfa Update README.md
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-07 10:02:16 +00:00
ee276a3a35 Add the nodiscard attribute to make and make_array
dad95a8160 Map the page bitmap to virtual memory
1ebd892c16 Convert uses of u64 to usize
Compare 3 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 18:41:06 +00:00
8598b1e8fc Replace the _noreturn macro with the C++ native attribute [[noreturn]]
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 18:36:05 +00:00
c099877c35 Remove unnecessary error propagation in Log.cpp
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 18:32:11 +00:00
314acbfe21 Change the serial log to display only milliseconds
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 18:28:34 +00:00
39b310b6b9 Make alignment a template parameter to help the compiler optimize
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 18:05:40 +00:00
d48eb85d1d Heap: Avoid magic numbers
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 17:42:32 +00:00
b5c6ae253d Make LinkedList a lot better
09e447d9d2 Heap: Use LinkedList instead of doing things manually
d8f75f1d3c LinkedList: Add an append_after() method
146da13e43 LinkedList: Make sure to explicitly mark the first node's next and last nodes as nullptr
07e6ebd3cc LinkedList: Fix nonnull_or_error
Compare 7 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-06 16:38:42 +00:00
87fb195202 Add DoublyLinkedList data structure
dd29156c85 Alloc: make() now takes variadic arguments, to forward to the constructor
eef74e2897 Add a generic error code (ENONE)
Compare 3 commits »