apio pushed to restart at apio/Luna 2022-11-20 17:31:03 +00:00
43e26e583c Calculate the boot timestamp in UNIX time for further usage
459e1ed653 luna/String.h: Convert to Types.h
1f2901d41a Add convenience script to replace stdint.h types with Types.h types
285c3cc411 Add Luna sources to list of sources to be formatted
Compare 4 commits »
apio pushed to restart at apio/Luna 2022-11-20 17:05:39 +00:00
ff952fa2e4 Confirm alignment when calculating an offset to split at
apio pushed to restart at apio/Luna 2022-11-20 16:56:36 +00:00
35b7194fb7 Move initialization into an init() function returning Result<void> so we can use TRY
a58b60d0cf Add a framebuffer text renderer
Compare 2 commits »
apio pushed to restart at apio/Luna 2022-11-20 15:34:20 +00:00
29defdf54d Add a debug function to dump heap usage
apio pushed to restart at apio/Luna 2022-11-20 14:48:32 +00:00
d54c882c63 Add new/delete-like functions but with Results
apio pushed to restart at apio/Luna 2022-11-20 14:15:53 +00:00
caf6d1563c Kernel: Add a heap memory allocator
3815f9aa9f Introduce an offset_ptr function to avoid quirky C pointer arithmetic
cb88630d86 Bugfix: Make alloc_at return the start of the virtual memory range instead of the end
Compare 3 commits »
apio pushed to restart at apio/Luna 2022-11-20 08:28:39 +00:00
33876dcda4 Use _strto{i,u} in _atou and _atos
apio pushed to restart at apio/Luna 2022-11-20 08:24:49 +00:00
bde5de68ca Simplify is_valid_digit_for_base by reaching out to parse_digit_unchecked
apio pushed to restart at apio/Luna 2022-11-19 21:52:30 +00:00
44f44aedca Make _strtoi call _strtou, to deduplicate code
apio pushed to restart at apio/Luna 2022-11-19 21:48:44 +00:00
30a7d760ae Move a few repeated lambdas into their own functions
apio pushed to restart at apio/Luna 2022-11-19 21:33:11 +00:00
af267772f0 Rename MemoryManager::map to map_frames_at
apio pushed to restart at apio/Luna 2022-11-19 21:29:08 +00:00
1b41a3e9cf Introduce a few helpers to allocate/map/unmap several pages, which wrap around the MMU functionality
c886669d56 Break down operations to make protect_kernel_sections() more readable
d96cb73995 Rename physical "pages" to "frames"
847f2b4f4c Replace more usage of stdint.h types with Luna's Types.h
Compare 4 commits »
apio pushed to restart at apio/Luna 2022-11-19 19:01:31 +00:00
83bcac7a16 Kernel: Introduce a timer interface
apio pushed to restart at apio/Luna 2022-11-19 17:39:23 +00:00
047f445651 Kernel: Add helpers to validate memory addresses
424b069d55 Kernel: Start the call stack with a null RBP on x86_64
db3e34b2ba Result: Add try_set_value()
Compare 3 commits »
apio pushed to restart at apio/Luna 2022-11-19 17:01:07 +00:00
883a1da0d7 More indentation in CMakeLists.txt
apio pushed to restart at apio/Luna 2022-11-19 17:00:10 +00:00
70c6b78e35 Organize source tree
a44e2f41fe Cleanup kernel/CMakeLists.txt
Compare 2 commits »
apio pushed to restart at apio/Luna 2022-11-19 16:52:46 +00:00
102eabcb4b Do some more formatted logging
apio pushed to restart at apio/Luna 2022-11-19 16:47:15 +00:00
83e6bd1322 Make the build system more platform-agnostic
apio pushed to restart at apio/Luna 2022-11-19 16:20:33 +00:00
8cae20a82c Move __check_failed out of line so anyone can implement it
2b9bdf560e Move include to .cpp file
b8c136eeb4 Make a common header for attribute shorthands
Compare 3 commits »
apio pushed to restart at apio/Luna 2022-11-19 15:13:48 +00:00
648bd3fb61 Switch format.h to use Result