asleepymoon
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-06 12:40:57 +00:00
db1941140c Explicitly include system headers to make it build on CI
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-06 12:38:54 +00:00
08608d2344 Depend on libc headers
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-06 12:36:02 +00:00
f1923ce5bd Install headers before compilation
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-06 12:31:21 +00:00
129e3c434a Switch to C for userspace, with a very bare-bones libc!!
b27cefb9c5 SystemError: Define _LUNA_SYSTEM_ERROR_EXTENSIONS to compile properly in hosted envs
293b979e75 ELFLoader: Do not crash on non-page-aligned sections
Compare 3 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-05 21:40:02 +00:00
fd8a0175d9 Add a syscall infrastructure (our baby program can print to the console now!)
caa3fe8c45 MemoryManager: Add validate_userspace_string()
Compare 2 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-05 20:55:29 +00:00
0ea9974512 First user process!
0aac6c888d x86_64: Basic exit() syscall!
a33a72915e Scheduler: Creation, destruction and switching of userspace tasks :))
ea89b92675 Store a bit more stuff in a thread :)
31ea030c7f MMU: Add functions to create and delete userspace page directories
Compare 7 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2023-01-02 12:08:47 +00:00
f0e14cf7e9 Update year range in LICENSE :)
5854e5e530 Add newlines at end-of-file
aab3a0a840 Update settings.json
3442970678 Add vscode configuration
Compare 4 commits »
asleepymoon pushed to main at asleepymoon/Luna 2023-01-02 11:19:54 +00:00
4ef764e62e mprotect(): Validate the entire range to protect is in userspace memory
asleepymoon pushed tag 1.3.1 to asleepymoon/minitar 2022-12-31 12:01:48 +00:00
asleepymoon released minitar 1.3.1 at asleepymoon/minitar 2022-12-31 12:01:48 +00:00
asleepymoon pushed to main at asleepymoon/minitar 2022-12-31 11:58:05 +00:00
087b099917 Documentation update
asleepymoon pushed to main at asleepymoon/minitar 2022-12-31 11:52:28 +00:00
55276a78e2 Add newlines at EOF so clang doesn't complain
asleepymoon pushed to main at asleepymoon/minitar 2022-12-31 11:49:33 +00:00
ab80b8ba45 Correct includes
asleepymoon pushed to main at asleepymoon/minitar 2022-12-31 11:41:08 +00:00
39d5ee5b9a Remove dependency on strtoul() and strtoull() by making our own specialized parse_octal() function
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-31 11:03:00 +00:00
df8f9c6cf6 SharedPtr: adopt_shared_from_owned
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-31 10:51:15 +00:00
831711ab7e TypeTraits: Remove const, volatile, and reference
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-30 18:07:28 +00:00
e2e21923d7 Result: Implement operator=()
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-30 18:03:11 +00:00
4081186b27 Heap: Rewrite kmalloc to use Option<HeapBlock*> instead of nullable pointers to iterate over the heap
3a3968b268 Result: Add nonnull_or_error()
973e39a255 LinkedList: Move nonnull_or_empty_option to Option.h so everyone can use it
28f53f9ccf LinkedList: Rename the nonnull_or_error() helper to a more accurate nonnull_or_empty_option()
1f36ecd044 LinkedList: Make expect_first() and expect_last() show a more accurate error description on panic
Compare 8 commits »
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-30 14:23:37 +00:00
400d0395a2 Result: Avoid double-checking when calling through to the underlying Option
asleepymoon pushed to restart at asleepymoon/Luna 2022-12-30 11:19:51 +00:00
8e59a0a79f CMakeLists improvements