Commit Graph

  • 9f5fb547f7 Add logging system :) apio 2022-11-30 13:29:28 +0100
  • f1756e6f58 Add unit formatting apio 2022-11-30 12:42:11 +0100
  • 552186ad51 Add string_format and vstring_format apio 2022-11-30 12:36:21 +0100
  • 1ed51d11cb Do not push unused values apio 2022-11-23 19:37:25 +0100
  • 82893fa3a4 Introduce a kernel_yield function to use once a scheduler is implemented apio 2022-11-23 19:34:04 +0100
  • 88681bdc74 Default to ninja apio 2022-11-23 19:01:28 +0100
  • 7230eceb4d x86_64/Timer: Show explanatory message on static assertion fail apio 2022-11-23 18:58:39 +0100
  • 9934719f6b Use a more reliable signed 64-bit type than "long" apio 2022-11-23 18:05:01 +0100
  • 88f588a0c5 Make ARCH_TIMER_FREQ less frequent so it is more accurate (I hope) apio 2022-11-23 18:00:09 +0100
  • 3b2dc5db55 PlacementNew.h: Use Types.h apio 2022-11-23 17:22:16 +0100
  • 46cad14052 Print "All files OK" when all files are using correct types apio 2022-11-20 18:57:22 +0100
  • f982152caa Add a script to manually check files with stdint.h types apio 2022-11-20 18:54:39 +0100
  • 2df0bc4238 Convert one tiny type to Types.h in Format.cpp apio 2022-11-20 18:31:55 +0100
  • 43e26e583c Calculate the boot timestamp in UNIX time for further usage apio 2022-11-20 18:30:40 +0100
  • 459e1ed653 luna/String.h: Convert to Types.h apio 2022-11-20 18:29:23 +0100
  • 1f2901d41a Add convenience script to replace stdint.h types with Types.h types apio 2022-11-20 18:28:46 +0100
  • 285c3cc411 Add Luna sources to list of sources to be formatted apio 2022-11-20 18:28:16 +0100
  • ff952fa2e4 Confirm alignment when calculating an offset to split at apio 2022-11-20 18:04:29 +0100
  • 35b7194fb7 Move initialization into an init() function returning Result<void> so we can use TRY apio 2022-11-20 17:56:07 +0100
  • a58b60d0cf Add a framebuffer text renderer apio 2022-11-20 17:55:22 +0100
  • 29defdf54d Add a debug function to dump heap usage apio 2022-11-20 16:33:54 +0100
  • d54c882c63 Add new/delete-like functions but with Results apio 2022-11-20 15:48:08 +0100
  • caf6d1563c Kernel: Add a heap memory allocator apio 2022-11-20 15:15:26 +0100
  • 3815f9aa9f Introduce an offset_ptr function to avoid quirky C pointer arithmetic apio 2022-11-20 15:12:18 +0100
  • cb88630d86 Bugfix: Make alloc_at return the start of the virtual memory range instead of the end apio 2022-11-20 15:11:53 +0100
  • 33876dcda4 Use _strto{i,u} in _atou and _atos apio 2022-11-20 09:28:17 +0100
  • bde5de68ca Simplify is_valid_digit_for_base by reaching out to parse_digit_unchecked apio 2022-11-20 09:24:21 +0100
  • 44f44aedca Make _strtoi call _strtou, to deduplicate code apio 2022-11-19 22:52:08 +0100
  • 30a7d760ae Move a few repeated lambdas into their own functions apio 2022-11-19 22:48:20 +0100
  • af267772f0 Rename MemoryManager::map to map_frames_at apio 2022-11-19 22:32:48 +0100
  • 1b41a3e9cf Introduce a few helpers to allocate/map/unmap several pages, which wrap around the MMU functionality apio 2022-11-19 22:28:45 +0100
  • c886669d56 Break down operations to make protect_kernel_sections() more readable apio 2022-11-19 22:27:59 +0100
  • d96cb73995 Rename physical "pages" to "frames" apio 2022-11-19 22:27:08 +0100
  • 847f2b4f4c Replace more usage of stdint.h types with Luna's Types.h apio 2022-11-19 22:25:03 +0100
  • 83bcac7a16 Kernel: Introduce a timer interface apio 2022-11-19 20:01:01 +0100
  • 047f445651 Kernel: Add helpers to validate memory addresses apio 2022-11-19 18:38:47 +0100
  • 424b069d55 Kernel: Start the call stack with a null RBP on x86_64 apio 2022-11-19 18:38:32 +0100
  • db3e34b2ba Result: Add try_set_value() apio 2022-11-19 18:38:01 +0100
  • 883a1da0d7 More indentation in CMakeLists.txt apio 2022-11-19 18:00:45 +0100
  • 70c6b78e35 Organize source tree apio 2022-11-19 17:59:49 +0100
  • a44e2f41fe Cleanup kernel/CMakeLists.txt apio 2022-11-19 17:59:39 +0100
  • 102eabcb4b Do some more formatted logging apio 2022-11-19 17:52:24 +0100
  • 83e6bd1322 Make the build system more platform-agnostic apio 2022-11-19 17:46:53 +0100
  • 8cae20a82c Move __check_failed out of line so anyone can implement it apio 2022-11-19 17:20:10 +0100
  • 2b9bdf560e Move include to .cpp file apio 2022-11-19 17:19:25 +0100
  • b8c136eeb4 Make a common header for attribute shorthands apio 2022-11-19 17:18:51 +0100
  • 648bd3fb61 Switch format.h to use Result apio 2022-11-19 16:13:25 +0100
  • 31673c0ac9 Introduce format attribute apio 2022-11-19 15:53:58 +0100
  • 3cdf224b90 Remove useless files now that functions are out of line apio 2022-11-19 15:46:46 +0100
  • dadc3e570b Move a few functions out of line apio 2022-11-19 15:43:09 +0100
  • 56c2ca3381 Add _strtoi and _strtou apio 2022-11-19 15:27:55 +0100
  • bad856afe0 Add %p and %% to cstyle_format apio 2022-11-19 15:26:29 +0100
  • 88af7a915b Start padding and alternate forms for integers apio 2022-11-19 13:59:06 +0100
  • c48203997a Move output_integer into a function that accepts value arguments apio 2022-11-19 13:21:21 +0100
  • 4ebf244d3b Support printing some integers in output_integer apio 2022-11-19 13:15:13 +0100
  • 603ff46d8c Add a format implementation apio 2022-11-19 12:30:36 +0100
  • be2e915d0d Use the standard names for ctype functions if inside moon or _LUNA_OVERRIDE_STDC is defined apio 2022-11-18 21:17:26 +0100
  • 1b3243a80c Add ctype.h functions to the Luna library apio 2022-11-18 21:12:54 +0100
  • 762ca844d8 Add CPU::platform_string apio 2022-11-18 21:04:53 +0100
  • 109de54822 Provide stubbed handlers for many more x86 exceptions apio 2022-11-18 20:51:25 +0100
  • 860f13cd7e Rename align_base to alignment apio 2022-11-18 18:02:38 +0100
  • 2e2656a02f Add static assertions to constexpr functions apio 2022-11-18 17:59:19 +0100
  • 9d318d50aa Use TRY in MMU.cpp apio 2022-11-16 20:37:41 +0100
  • 2c9329928c Replace page_size (function) with ARCH_PAGE_SIZE (constant) apio 2022-11-16 20:37:32 +0100
  • 30ac95bcf8 Use usize/isize instead of (s)size_t apio 2022-11-16 20:30:34 +0100
  • 7fc5a6b753 Make kernel rodata and data not executable apio 2022-11-16 20:02:04 +0100
  • 7f15ba0ac5 Add some interrupt handling apio 2022-11-16 17:37:18 +0100
  • df8666fd73 Remove unneeded label apio 2022-11-15 20:47:50 +0100
  • bb46cd890b Add GDT and IDT setup and loading + NX if supported apio 2022-11-15 20:41:59 +0100
  • c9feb11366 Introduce a check() method (like assert() but always on) apio 2022-11-15 19:36:50 +0100
  • c319336e3d Add a CPU interface apio 2022-11-15 19:10:32 +0100
  • e16324887f MMU: Properly clear flags apio 2022-11-15 19:10:19 +0100
  • 3358454833 Add getters for free, used and reserved memory apio 2022-11-13 16:56:03 +0100
  • 6a7097c9ec Add variables for the future apio 2022-11-13 16:54:07 +0100
  • ae235e5538 MMU: unmap and remap for x86_64 apio 2022-11-13 16:51:21 +0100
  • ba1bf72e1b Remove unused include apio 2022-11-13 16:32:28 +0100
  • d6c56fb512 Mapping finally works!! apio 2022-11-13 16:31:32 +0100
  • 4c4f72b865 More MMU stuff, but writing still fails apio 2022-11-13 15:33:53 +0100
  • d148e0aff7 Initialize MemoryManager instead of MMU directly apio 2022-11-13 14:29:59 +0100
  • 705c2747de Add memory manager apio 2022-11-13 14:29:15 +0100
  • 6b95307b54 Add init apio 2022-11-13 12:20:53 +0100
  • ffbe5260a5 Add Framebuffer stuff apio 2022-11-13 11:25:15 +0100
  • 82c2381ac9 Serial printing!! apio 2022-11-13 10:30:10 +0100
  • cf758fdfdc Initial commit :) apio 2022-11-13 10:09:09 +0100
  • 42efc21110 Start implementing read and write support in tmpfs apio 2022-11-12 20:11:26 +0100
  • 046065c533 Fix tmpfs apio 2022-11-12 19:05:47 +0100
  • 37fe95b128 Remove FIXME apio 2022-11-12 18:15:32 +0100
  • 3451d50a37 Try building a tmpfs, but weird stuff happens apio 2022-11-12 18:13:41 +0100
  • 000ffd1fae Scheduler: Handle weird cases when the task we're iterating on is null apio 2022-11-12 18:12:42 +0100
  • 37bb3273ce Kernel: Add a C interface to the logging system apio 2022-11-12 18:12:18 +0100
  • 511bb7a8c1 Kernel: Make readdir() available in created InitRD directories apio 2022-11-12 18:11:58 +0100
  • bde9a97db5 sh: Add a sleep command apio 2022-11-12 17:44:13 +0100
  • fa325072ac Kernel: Add __cxa_atexit and __cxa_finalize apio 2022-11-12 17:43:57 +0100
  • e54f033578 libc: Add wcslen (with a test) and wcscat apio 2022-11-12 14:16:00 +0100
  • 35829a6998 libc: Remove unnecessary casts in strcat() and strncat() apio 2022-11-12 14:15:38 +0100
  • 6ab246a05e libc: Add a basic implementation of pathconf() apio 2022-11-12 14:15:21 +0100
  • 9e8a57cec7 libc: Add getdtablesize() apio 2022-11-12 14:15:02 +0100
  • f46831f459 libc: Define PATH_MAX apio 2022-11-12 14:13:28 +0100
  • 5fa8569ff9 libc: Add creat() apio 2022-11-12 14:12:49 +0100
  • a3896c2546 libc: Define MB_CUR_MAX apio 2022-11-12 13:24:04 +0100