Commit Graph

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