-
d5b1d72396
x86_64/MMU: Map the kernel page directory to virtual memory
apio
2023-01-22 14:46:03 +01:00
-
a7a38d3433
Bitmap: Add a fallible variant of match_region() that does not crash if arguments are out of range
apio
2023-01-22 14:25:51 +01:00
-
cb59a4e0e3
libc: Add assert.h
apio
2023-01-22 12:51:30 +01:00
-
34a9b35037
Option, Result: Propagate caller locations when erroring out
apio
2023-01-22 12:00:52 +01:00
-
0126a8fb6e
luna: Add a new SourceLocation class and use that in check() and expect()
apio
2023-01-22 11:43:48 +01:00
-
129297a0b0
CString: Fix compilation in strnlen()
apio
2023-01-22 11:43:10 +01:00
-
cf8d3c6ff9
OwnedStringView: Add a method to extract a substring
apio
2023-01-22 11:27:54 +01:00
-
12d2039f68
CString: Add strnlen() and strndup()
apio
2023-01-22 11:27:37 +01:00
-
944d32de36
Bitmap: Introduce new malloc-aware initialization functions
apio
2023-01-21 23:16:50 +01:00
-
0e607c2fef
Bitmap: Declare more variables as const
apio
2023-01-21 23:04:21 +01:00
-
a6974b605e
tools+CMake: Prefix all environment variables with LUNA_
apio
2023-01-21 22:44:16 +01:00
-
a3d0fa7d0a
UserVM: Validate the entire range when freeing multiple VM pages
apio
2023-01-16 21:16:38 +01:00
-
631cdd0204
x86_64/CPU: Skip null instruction pointers on stack trace generation
apio
2023-01-16 20:44:45 +01:00
-
c374c25523
Convert some FIXMEs into NOTES
apio
2023-01-16 20:30:35 +01:00
-
1d92784608
luna, kernel: Replace some uses of char by truly 1-byte wide types
apio
2023-01-16 19:52:34 +01:00
-
329e8ab182
luna/Heap: Scrub reallocations properly
apio
2023-01-16 19:50:35 +01:00
-
1b807a4e06
arch/Timer: Make sure ARCH_TIMER_FREQ is a power of two
apio
2023-01-16 19:43:05 +01:00
-
d0600f5714
luna: Make Utf8StringEncoder short-circuit instead of failing when hitting the length limit
apio
2023-01-14 12:07:08 +01:00
-
e3ef29e80d
libc: Implement wcstombs()
apio
2023-01-14 11:59:08 +01:00
-
00ee8314b3
luna: Make Utf8String{De,En}coders return the number of bytes written
apio
2023-01-14 11:55:19 +01:00
-
da805eec83
Describe what check() and expect() are
apio
2023-01-14 10:59:30 +01:00
-
eb35abfa52
Vector: Assigment, copy&move constructors, and destructor
apio
2023-01-14 10:50:28 +01:00
-
3b4b750cbf
luna: Vector is here!!
apio
2023-01-13 22:28:03 +01:00
-
28bde216c4
libc: Implement perror()
apio
2023-01-13 21:08:10 +01:00
-
e676fb8299
libc: Add a wide range of time manipulation functions, including reentrant variants
apio
2023-01-13 21:06:27 +01:00
-
2d2db300b0
libc: Add malloc(), calloc(), realloc() and free()
apio
2023-01-13 20:00:20 +01:00
-
5fb2ff09c7
kernel, luna, libc: Move the heap code to a common zone, to be used by both kernel and userspace
apio
2023-01-13 19:27:53 +01:00
-
d864bda751
libc: Add (de)allocate_memory wrappers located in sys/mman.h
apio
2023-01-13 19:08:02 +01:00
-
139c0b5eb1
Kernel: Make a UserVM wrapper around Bitmap and use that to allocate user VM
apio
2023-01-13 19:05:20 +01:00
-
7462b764d8
Kernel: Add __cxa_atexit iomplementation
apio
2023-01-13 18:56:05 +01:00
-
09dc8bd522
Bitmap: Add find_region() and find_and_toggle_region()
apio
2023-01-13 18:55:31 +01:00
-
59db656f25
size_t -> usize
apio
2023-01-13 18:55:05 +01:00
-
16a62552db
SharedPtr: Add a nullptr constructor
apio
2023-01-13 18:54:39 +01:00
-
445aeed80d
OwnedPtr: Implement assignment operators
apio
2023-01-13 18:54:25 +01:00
-
9454b65682
allocate_memory: Respect PROT_NONE
apio
2023-01-12 17:59:17 +01:00
-
586ca19b62
Add a VERY BASIC and hacky way of allocating memory from userspace
apio
2023-01-11 23:01:47 +01:00
-
0e1e15e85a
Result: Construct a Result from an Option using from_option()
apio
2023-01-11 23:02:15 +01:00
-
79a5b98d65
Kernel: Keep the user pointer const through copy_from_user()
apio
2023-01-11 19:26:53 +01:00
-
6e4cd6300d
Kernel: Add copy_from_user() and copy_from_user_typed()
apio
2023-01-11 19:25:28 +01:00
-
73ddd0b0c5
tools: Be more arch-agnostic
apio
2023-01-11 19:14:35 +01:00
-
d150c55143
TarStream: Support mode
apio
2023-01-11 18:42:50 +01:00
-
82b555cf5c
TarStream: Refactor the API to get rid of that awful method in Result
apio
2023-01-11 17:30:53 +01:00
-
6cf042e65e
Result: Remove m_has_value, rely on Option::has_value()
apio
2023-01-11 17:09:32 +01:00
-
67ebb00bd3
Option, Result: Introduce try_move_value(), which is the release_value() equivalent of try_set_value()
apio
2023-01-11 17:06:17 +01:00
-
84c82a4e75
luna, kernel: More constness
apio
2023-01-10 19:31:41 +01:00
-
5aa667c776
luna: Make OwnedStringView::clone() just call from_string_literal()
apio
2023-01-10 19:03:00 +01:00
-
3ac3d54788
luna: Make check() and expect() output errors in userspace
apio
2023-01-10 19:02:16 +01:00
-
c82ed5df01
Enable -Os on all targets
apio
2023-01-10 18:13:21 +01:00
-
feaf9ed19b
Update README.md
apio
2023-01-09 18:16:39 +01:00
-
c83f6c03b5
Bitmap: Add a 'find_and_toggle' method
apio
2023-01-09 18:08:50 +01:00
-
4287ec6cb0
Bitmap: Introduce a new method 'find' and use it in MM and KernelVM
apio
2023-01-09 17:59:52 +01:00
-
31ee97b7de
Remove restart from CI configuration
apio
2023-01-08 15:55:26 +01:00
-
15c5b80dc9
Rewrite README.md now that restart is gone
apio
2023-01-08 15:55:01 +01:00
-
afe9a01bbf
Merge branch 'restart' into main
apio
2023-01-08 15:45:56 +01:00
-
-
1f135261e7
Revert "Kernel: Make readdir() available in created InitRD directories"
apio
2023-01-08 15:42:48 +01:00
-
49d1e4f011
Revert "mprotect(): Validate the entire range to protect is in userspace memory"
apio
2023-01-08 15:41:53 +01:00
-
401a807551
Revert "Update README.md"
apio
2023-01-08 15:41:39 +01:00
-
b0e5d02c9a
kernel: Turn off console logging before starting the init process
#21
apio
2023-01-08 15:32:59 +01:00
-
a620b00b18
Unify libc header descriptions
apio
2023-01-08 15:29:30 +01:00
-
8de59138ef
We are platform-agnostic now (kind of)
apio
2023-01-07 21:42:57 +01:00
-
0c5a84f932
toolchain: Update to binutils 2.39
apio
2023-01-07 21:23:01 +01:00
-
0c73d69a70
Kernel: Fix shadow 12GiB reserved entry when running QEMU without KVM on
apio
2023-01-07 20:58:12 +01:00
-
c97f588d44
Fix TRY() with Option
apio
2023-01-07 20:53:23 +01:00
-
fde1727218
KernelVM: Expand the available VM range
apio
2023-01-07 12:33:00 +01:00
-
8ee634d19b
Kernel/Scheduler: Display addresses starting with 0x when creating threads
apio
2023-01-07 12:02:14 +01:00
-
471103e4f3
Remove the word 'header' from libc header descriptions
apio
2023-01-07 11:39:15 +01:00
-
12dc96b4a5
Fix comment typo
apio
2023-01-07 11:31:08 +01:00
-
b70bbc0ba6
More libc commenting
apio
2023-01-07 11:21:53 +01:00
-
7e377ef712
Implement printf()
apio
2023-01-07 01:49:26 +01:00
-
29bd8a69fa
MemoryManager: Add helper functions to validate arbitrary ranges of userspace memory
apio
2023-01-07 01:39:33 +01:00
-
7fb2807d0c
libc: Implement time() using clock_gettime().
apio
2023-01-07 00:27:23 +01:00
-
a8a64863c8
kernel, libc: Add clock_gettime()
apio
2023-01-07 00:21:08 +01:00
-
6e9b4491a6
MemoryManager: Add copy_to_user() and copy_to_user_typed()
apio
2023-01-07 00:17:16 +01:00
-
b851dcf9b9
libc: Implement mbstowcs() using Utf8StringDecoder
apio
2023-01-06 21:01:37 +01:00
-
8891304509
libc: Add ctype.h
apio
2023-01-06 20:48:08 +01:00
-
80f5c790f8
Implement string formatting into libc :)
apio
2023-01-06 20:15:43 +01:00
-
367a2ce521
libc: header documentation for supported functions
apio
2023-01-06 20:02:07 +01:00
-
c3653cd4e6
More stdlib.h implementation + commenting + atexit()
apio
2023-01-06 19:40:25 +01:00
-
50509baea6
More c_cpp_properties.json
apio
2023-01-06 19:06:47 +01:00
-
65d2f1c041
Update c_cpp_properties.json
apio
2023-01-06 19:03:35 +01:00
-
0a472000be
Fix CI by providing a host C++ compiler
apio
2023-01-06 19:00:32 +01:00
-
83651b4b90
CMake: Respect the ARCH env variable
apio
2023-01-06 18:59:59 +01:00
-
bdfe7dac17
libc: Remove crti.o and crtn.o
apio
2023-01-06 17:59:54 +01:00
-
8838e2cf22
Bring back the OS-Specific Toolchain on restart :^)
apio
2023-01-06 17:35:07 +01:00
-
e37280b0e5
ELFLoader: Set both the read-write and execute flags if the section has both
apio
2023-01-06 17:34:24 +01:00
-
87a4bc91d8
arch/x86_64: Nicer display for page faults that shows a human-readable version of the error code
apio
2023-01-06 17:31:22 +01:00
-
a01b56ed39
CString: Support strcpy(), strcat() and strchr()
apio
2023-01-06 16:20:35 +01:00
-
30555f8e5a
Skip these because CI needed a toolchain rebuild
apio
2023-01-06 15:00:49 +01:00
-
7acef24494
Make libc depend on crt{0,i,n}.o
apio
2023-01-06 14:32:38 +01:00
-
71414c0653
Explicitly set the link path to make it build on CI
apio
2023-01-06 14:28:53 +01:00
-
db1941140c
Explicitly include system headers to make it build on CI
apio
2023-01-06 13:40:53 +01:00
-
08608d2344
Depend on libc headers
apio
2023-01-06 13:38:48 +01:00
-
f1923ce5bd
Install headers before compilation
apio
2023-01-06 13:35:57 +01:00
-
129e3c434a
Switch to C for userspace, with a very bare-bones libc!!
apio
2023-01-06 13:31:14 +01:00
-
b27cefb9c5
SystemError: Define _LUNA_SYSTEM_ERROR_EXTENSIONS to compile properly in hosted envs
apio
2023-01-06 13:30:49 +01:00
-
293b979e75
ELFLoader: Do not crash on non-page-aligned sections
apio
2023-01-06 13:30:17 +01:00
-
fd8a0175d9
Add a syscall infrastructure (our baby program can print to the console now!)
apio
2023-01-05 22:39:56 +01:00
-
caa3fe8c45
MemoryManager: Add validate_userspace_string()
apio
2023-01-05 22:39:09 +01:00
-
0ea9974512
First user process!
apio
2023-01-05 21:55:21 +01:00
-
0aac6c888d
x86_64: Basic exit() syscall!
apio
2023-01-05 21:53:48 +01:00