Commit Graph

  • 146da13e43
    LinkedList: Make sure to explicitly mark the first node's next and last nodes as nullptr apio 2022-12-06 18:23:19 +0100
  • 07e6ebd3cc
    LinkedList: Fix nonnull_or_error apio 2022-12-06 18:22:45 +0100
  • 2734353a5d
    Heap: Just align it on a 16-byte boundary if it's not aligned apio 2022-12-06 18:21:19 +0100
  • cccf89dd16
    Heap: Remove outdated FIXME apio 2022-12-06 18:20:18 +0100
  • 87fb195202
    Add DoublyLinkedList data structure apio 2022-12-06 17:37:43 +0100
  • dd29156c85
    Alloc: make() now takes variadic arguments, to forward to the constructor apio 2022-12-06 17:36:20 +0100
  • eef74e2897
    Add a generic error code (ENONE) apio 2022-12-06 17:35:38 +0100
  • a021e7a309
    Move make and destroy to luna apio 2022-12-06 16:41:22 +0100
  • 1fa99f4f64
    Make {add,sub,mul}_will_overflow more compiler-independent apio 2022-12-06 15:53:06 +0100
  • 26b44e651d
    Change safe_{sub,add,mul} so they perform the operation only once apio 2022-12-06 15:47:59 +0100
  • b338126854
    Heap: Use safe_mul in kcalloc() apio 2022-12-06 15:44:21 +0100
  • e91c04b1d1
    luna: Introduce safe arithmetic operations, which return an error if an operation would overflow apio 2022-12-06 15:40:18 +0100
  • 8ff9cb4b96
    x86_64: Add a friendlier handler for page faults apio 2022-12-05 21:02:21 +0100
  • 1d0dd8fa93
    Use KernelVM in kmalloc() and friends apio 2022-12-05 21:02:05 +0100
  • ba758bcef8
    Initialize the KernelVM apio 2022-12-05 21:01:18 +0100
  • 6c3024d4ee
    Heap: Count the heap blocks' size in the size required for an allocation apio 2022-12-05 21:01:06 +0100
  • 0edabd6d87
    Heap: Add a new block to the end of the linked list apio 2022-12-05 21:00:21 +0100
  • d445b29477
    Add a virtual memory allocator for the kernel apio 2022-12-05 20:36:24 +0100
  • a8fb4ca739
    Move CI badge apio 2022-12-05 19:57:41 +0100
  • eaf8a8aafe
    Make sure the OS used in CI is Linux apio 2022-12-05 19:26:27 +0100
  • bf7bcd7d56
    Rename CI pipeline apio 2022-12-05 19:19:50 +0100
  • 20eeecb3e1
    Run CI on push apio 2022-12-05 19:16:58 +0100
  • 4ec6442ba0
    Add build status badge apio 2022-12-05 19:16:11 +0100
  • 2677fca5b7
    Remove formatting step apio 2022-12-05 19:09:33 +0100
  • f767d98037
    Please work apio 2022-12-05 19:07:01 +0100
  • adf6844d49
    Update drone.yml apio 2022-12-05 19:03:06 +0100
  • 999d90d588
    Update check-formatting.sh apio 2022-12-05 19:02:23 +0100
  • 62e4ed824d
    Update drone.yml apio 2022-12-05 18:50:01 +0100
  • ac2da14319
    Update config for CI apio 2022-12-05 18:48:40 +0100
  • bd7b9ad237
    Update drone.yml apio 2022-12-05 18:44:44 +0100
  • ca0e47b8e4
    Update drone.yml apio 2022-12-05 18:26:31 +0100
  • 744d39c27b
    Update drone.yml apio 2022-12-05 18:24:34 +0100
  • 0c9b822304
    Update drone.yml apio 2022-12-05 18:22:52 +0100
  • f21d153077
    Update drone.yml apio 2022-12-05 18:21:30 +0100
  • 82eda5d6aa
    Update drone.yml apio 2022-12-05 18:19:55 +0100
  • d8a3d74779
    Actual steps apio 2022-12-05 18:13:12 +0100
  • 08b4c078dd
    Will it work now? apio 2022-12-05 18:11:22 +0100
  • 8f3e80ae47
    Try to get it right? apio 2022-12-05 18:08:50 +0100
  • 4074835185
    Update drone.yml apio 2022-12-05 18:06:30 +0100
  • e6c56172d3
    Try adding a drone.yml apio 2022-12-05 18:00:05 +0100
  • 95d969ed25
    Add message to inform of prebuilt toolchains apio 2022-12-05 17:48:26 +0100
  • 762131a425
    Make more constexpr apio 2022-12-05 16:43:52 +0100
  • 2eaa458555
    Remove release_value call apio 2022-12-05 16:41:39 +0100
  • 1e3706ac01
    Make ARCH_PAGE_SIZE and ARCH_TIMER_FREQ known at compile-time apio 2022-12-05 16:36:41 +0100
  • 4f183958e3
    General constness + [[gnu::packed]] everywhere apio 2022-12-05 16:13:38 +0100
  • a63a8b32b5
    Make new and delete noexcept and return nullptr on failure apio 2022-12-05 13:45:32 +0100
  • 891320f7d3
    Heap: Make const apio 2022-12-05 13:41:58 +0100
  • 7cc139c3f7
    Make expect and check use unlikely apio 2022-12-05 13:35:33 +0100
  • ea7893ba71
    Make CHECK_PAGE_ALIGNED use expect() instead of check() apio 2022-12-05 13:26:50 +0100
  • 55a30ac487
    Make CHECK_PAGE_ALIGNED use expect() instead of check() apio 2022-12-05 13:26:50 +0100
  • bfd4647467
    Rename largest_free -> largest_free_entry apio 2022-12-05 13:26:09 +0100
  • d9fc50f1ea
    Make MemoryMapEntry have private fields with public getters apio 2022-12-05 13:23:01 +0100
  • ec1354fc8d
    const in TextConsole apio 2022-12-05 13:06:12 +0100
  • 58ecf11424
    Make all refs to the bootboot structure const apio 2022-12-05 13:04:01 +0100
  • 54ce511f1d
    More const apio 2022-12-05 13:00:41 +0100
  • 792642dd6f
    MORE CONST apio 2022-12-05 12:58:59 +0100
  • 86a12f301e
    Make value_byte a helper apio 2022-12-05 12:53:16 +0100
  • 004e13a5f3
    Make bitmap methods const if not modifying the bitmap apio 2022-12-05 12:50:30 +0100
  • 3b77ba6b04
    EVERYTHING IS CONSTANT IN THIS UNIVERSE apio 2022-12-05 12:49:01 +0100
  • af96db3641
    Remove bootboot declaration from MemoryManager now that it's MemoryMapIterator's job to walk the mmap apio 2022-12-04 15:56:25 +0100
  • 77e64d74a0
    Remove unused header apio 2022-12-04 15:55:52 +0100
  • 0a296413e6
    It's not worth it aborting when failing to determine CPU name apio 2022-12-04 15:55:12 +0100
  • 766804b3a0
    Use get_blocks_from_size instead of +1 apio 2022-12-04 15:52:56 +0100
  • 0d10c98477
    SImplify init_physical_frame_allocator() even more apio 2022-12-04 15:50:21 +0100
  • 5f6c48bd12
    Use a friendlier way of iterating over the memory map apio 2022-12-04 15:45:13 +0100
  • 5aa2d1fa18
    Add a Bitmap class to provide common functionality and use that in the MemoryManager apio 2022-12-04 15:14:07 +0100
  • ee76bdf84d
    Add sanity check apio 2022-12-04 13:41:14 +0100
  • bde3d55eb2
    Remove escape from comment apio 2022-12-04 13:38:48 +0100
  • f8120e01c0
    Panic in delete as well apio 2022-12-04 12:58:37 +0100
  • 22019ac6b2
    Print the error instead apio 2022-12-04 12:57:43 +0100
  • 96b32f5a93
    Please use make<T> and destroy<T> instead of new and delete apio 2022-12-04 12:55:32 +0100
  • adb2c2ab41
    Add kernel-side new and delete apio 2022-12-04 12:52:49 +0100
  • b8239698db
    Add descriptions in CMakeLists apio 2022-12-04 12:47:08 +0100
  • c7ab6bc2d3
    Reorganize the luna/ directory so that headers aren't in the top level include path apio 2022-12-04 12:42:43 +0100
  • cdbed6970a
    Result: Add expect_ variants of value() and release_value() apio 2022-12-04 12:32:34 +0100
  • bed29e71af
    Replace some uses of check() with expect() apio 2022-12-04 12:25:16 +0100
  • bb92480aa3
    Add a variant of check() that accepts an error message apio 2022-12-04 12:19:17 +0100
  • a0c4bbe6f3 Make sure to clean CMake cache when rebuilding apio 2022-12-04 11:55:47 +0100
  • 5d9c50eb12 Make build-debug.sh work apio 2022-12-04 10:27:25 +0100
  • 9a6d0d1bae Update README.md apio 2022-12-04 10:07:56 +0100
  • 37a41f3d2c Add warning message apio 2022-12-03 17:53:47 +0100
  • d72478de29 Update README.md apio 2022-12-03 17:51:39 +0100
  • 1f4c4f1a0c Update README.md apio 2022-12-03 17:49:42 +0100
  • bbc5470ae4 Update symlink location apio 2022-12-03 17:39:22 +0100
  • e440df58c9 cleanup: remove unused scripts apio 2022-12-03 17:37:12 +0100
  • 505dde35ac Make GDB source .gdbconf relative to the root directory apio 2022-12-03 17:34:36 +0100
  • dcd5a82073 Make GDB use the correct kernel file apio 2022-12-03 17:34:14 +0100
  • 1d7b9260c3 Add config.h for version information apio 2022-12-03 17:25:25 +0100
  • bdc9747f9e Set a project version apio 2022-12-03 17:18:25 +0100
  • 3740309427 Check for STRINGIZE_VALUE_OF before defining it apio 2022-12-03 17:18:16 +0100
  • 9c9cb6a05a oopsie apio 2022-11-30 17:29:18 +0100
  • 2bc99f2e6e Make log __attribute__(format), so the compiler can warn us of bad format strings apio 2022-11-30 17:28:46 +0100
  • 3f40ccd703 Indicate the log level in the serial console apio 2022-11-30 17:26:33 +0100
  • 985d45ddfb Switch to logging functions everywhere apio 2022-11-30 17:16:36 +0100
  • d2856d8812 Provide meaningful error numbers apio 2022-11-30 17:13:59 +0100
  • 29dad5651d Move __check_failed to Log.cpp so it can be logged across all backends apio 2022-11-30 17:12:06 +0100
  • 1d51935d43 Make Result able to return an error string apio 2022-11-30 17:10:43 +0100
  • fc0779a2f9 Add a SystemError module for errno values :) apio 2022-11-30 17:10:30 +0100
  • fe47e0d5cb Clean init() up apio 2022-11-30 16:30:42 +0100
  • f8ed74fda5 Improve unit representation code apio 2022-11-30 14:41:35 +0100