Commit Graph

  • a33a72915e
    Scheduler: Creation, destruction and switching of userspace tasks :)) apio 2023-01-05 21:52:26 +0100
  • ea89b92675
    Store a bit more stuff in a thread :) apio 2023-01-05 21:50:53 +0100
  • 31ea030c7f
    MMU: Add functions to create and delete userspace page directories apio 2023-01-05 21:50:26 +0100
  • c53bba0392
    MemoryManager: Add an unmap_weak_and_free_vm() helper function apio 2023-01-05 21:50:06 +0100
  • d3c414af4e
    ELFLoader: Do not keep track of segments apio 2023-01-05 21:46:03 +0100
  • f0e14cf7e9
    Update year range in LICENSE :) apio 2023-01-02 13:08:42 +0100
  • 5854e5e530
    Add newlines at end-of-file apio 2023-01-02 13:07:29 +0100
  • aab3a0a840
    Update settings.json apio 2023-01-02 13:07:13 +0100
  • 3442970678
    Add vscode configuration apio 2023-01-02 13:00:22 +0100
  • 4ef764e62e
    mprotect(): Validate the entire range to protect is in userspace memory apio 2023-01-02 11:51:08 +0100
  • df8f9c6cf6
    SharedPtr: adopt_shared_from_owned apio 2022-12-31 12:02:15 +0100
  • 831711ab7e
    TypeTraits: Remove const, volatile, and reference apio 2022-12-31 11:50:30 +0100
  • e2e21923d7
    Result: Implement operator=() apio 2022-12-30 19:06:47 +0100
  • 4081186b27
    Heap: Rewrite kmalloc to use Option<HeapBlock*> instead of nullable pointers to iterate over the heap apio 2022-12-30 19:02:25 +0100
  • 3a3968b268
    Result: Add nonnull_or_error() apio 2022-12-30 18:46:27 +0100
  • 973e39a255
    LinkedList: Move nonnull_or_empty_option to Option.h so everyone can use it apio 2022-12-30 18:46:18 +0100
  • 28f53f9ccf
    LinkedList: Rename the nonnull_or_error() helper to a more accurate nonnull_or_empty_option() apio 2022-12-30 18:44:37 +0100
  • 1f36ecd044
    LinkedList: Make expect_first() and expect_last() show a more accurate error description on panic apio 2022-12-30 18:43:39 +0100
  • 24773fbece
    kernel/main: Remove reference to 'extern const BOOTBOOT bootboot' apio 2022-12-30 18:38:50 +0100
  • 74aa30a44f
    Init: Call efficient_halt() on magic number mismatch instead of busy-looping apio 2022-12-30 18:36:22 +0100
  • 9569385691
    Remove unused include apio 2022-12-30 18:32:44 +0100
  • 400d0395a2
    Result: Avoid double-checking when calling through to the underlying Option apio 2022-12-30 15:00:02 +0100
  • 8e59a0a79f
    CMakeLists improvements apio 2022-12-30 11:48:18 +0100
  • 7952d1d8a0
    x86_64: Add basic keyboard support with an ASYNC DRIVER apio 2022-12-26 19:59:18 +0100
  • ed34009b50
    Heap: Log more details of blocks apio 2022-12-26 16:17:24 +0100
  • 2af3997456
    LinkedList: Fixed some boogs, LinkedList is now boog-free :) apio 2022-12-26 15:54:29 +0100
  • 1c70ab5a1a
    Heap: Avoid combines with blocks outside a range apio 2022-12-26 15:20:56 +0100
  • a1eca479d5
    x86_64: Add a getter for the initial page directory apio 2022-12-26 12:57:25 +0100
  • 2600acc96c
    Thread: Add init_regs_user() apio 2022-12-26 12:46:07 +0100
  • 7efb79dd26
    LinkedList: Check for nullptrs in detach_from_list() apio 2022-12-26 12:45:49 +0100
  • 7e62ee66be
    Change heap.first().has_value() to the cheaper heap.count() apio 2022-12-26 12:24:39 +0100
  • 73c58bd902
    Init: Move platform_init() before MemoryManager::init() apio 2022-12-26 12:12:55 +0100
  • 0054777e7d
    x86_64: Warn if NX is not supported apio 2022-12-26 12:11:10 +0100
  • 08984e1673
    x86_64: Create a has_flag() helper function and remove redundant clearing of reserved bits apio 2022-12-26 12:10:47 +0100
  • 59d69f684f
    x86_64: Add general protection fault handler apio 2022-12-24 11:49:47 +0100
  • f71ccde833
    Add an overload for aligned deletes which just calls the normal operator delete apio 2022-12-24 11:49:12 +0100
  • f2cc797599
    Add a simple ELF loader apio 2022-12-23 13:09:21 +0100
  • e5ae2b0435
    TarStream: Make read_contents and friends const apio 2022-12-23 13:08:31 +0100
  • ad0f6546d7
    Add a global initrd TarStream to make the initial ramdisk accessible everywhere apio 2022-12-23 11:33:23 +0100
  • 6ff92b1714
    MemoryManager: Add get_kernel_mapping_for_frames() apio 2022-12-23 11:30:49 +0100
  • 74235c2c99
    Update README.md apio 2022-12-23 11:06:59 +0100
  • e6384ae90d
    Use the new toolchain location apio 2022-12-23 11:06:37 +0100
  • 575752eb23
    Update drone config to pull toolchain from a new purpose-built toolchain archive for CI apio 2022-12-23 11:04:50 +0100
  • c39e54b7c6
    Make TarStream::read_contents take any pointer as output apio 2022-12-23 10:51:55 +0100
  • 34e6c05cef
    Fix it up a bit more apio 2022-12-23 10:48:00 +0100
  • 913b13b380
    Fix up the header install script apio 2022-12-23 10:46:44 +0100
  • 4fa33a9689
    SharedPtr: Add operator= apio 2022-12-23 10:31:48 +0100
  • bd4b05e534
    Add OwnedPtr and SharedPtr apio 2022-12-23 10:23:13 +0100
  • 9afaad8fed
    Add dbgln() for the luna library apio 2022-12-22 18:00:35 +0100
  • a3595e71a9
    Update .clang-format apio 2022-12-21 20:22:44 +0100
  • 96135ff808
    Use limits.h for the standard definition of WCHAR_MAX apio 2022-12-21 20:11:00 +0100
  • 16bf8b38ea
    UTF-8 decoder: Error out on overlong encodings apio 2022-12-21 20:08:43 +0100
  • fcefab4383
    TextConsole: Add wide-character overloads for print() and println() apio 2022-12-21 19:41:13 +0100
  • 293b7b0f11
    TextConsole: Propagate UTF-8 decoding errors apio 2022-12-21 17:38:19 +0100
  • 2e8ea724a0
    arch/x86_64: Refactor the stack tracing code to remove duplicate code apio 2022-12-21 17:21:01 +0100
  • 7a2cb28475
    Make sure isize matches ssize_t on most cases apio 2022-12-20 17:12:44 +0100
  • e2a6cba3c6
    Log: Update formatting to make ANSI weirdness more sensible apio 2022-12-19 21:42:53 +0100
  • 703c3f44fb
    Add two FIXMEs apio 2022-12-19 21:41:27 +0100
  • 042f999677
    Heap: SCRUB IT ALL apio 2022-12-19 13:20:38 +0100
  • a11a5dec1f
    DoublyLinkedList -> LinkedList apio 2022-12-19 12:43:23 +0100
  • 1269a045bd
    LinkedList: Add a convenience delayed_for_each() method. apio 2022-12-19 12:41:25 +0100
  • 5b72144fac
    Add a handy consume() method to LinkedList apio 2022-12-19 12:35:08 +0100
  • 92a7004c2f
    Move the reaping logic to Scheduler apio 2022-12-19 12:24:15 +0100
  • 31ee901e01
    TarStream: Add a variant of read_contents() returning an OwnedStringView apio 2022-12-19 12:21:17 +0100
  • 9eb829f3a2
    CString: Add strcmp() apio 2022-12-19 12:20:56 +0100
  • 60520dff4c
    Make MemoryManager's scope guards more robust apio 2022-12-19 11:55:53 +0100
  • 0bdbffe0ca
    Spinlock+LockedValue: Add try_lock() methods apio 2022-12-18 20:37:26 +0100
  • 283e641ece
    Spinlock+LockedValue: Remove init() functions apio 2022-12-18 20:36:15 +0100
  • a63146a798
    Show the date and time of build :) apio 2022-12-18 18:51:25 +0100
  • 751377de0a
    Scheduler: Make it possible for a thread to stop existing apio 2022-12-18 18:43:34 +0100
  • 1b92fe36b4
    Store the stack inside a thread apio 2022-12-18 18:43:17 +0100
  • 00cf267ac7
    Lock EFIXME and error_string() behind a #define apio 2022-12-18 18:14:48 +0100
  • a08310ff5e
    Add some more errno definitions apio 2022-12-18 18:09:52 +0100
  • cda0d49a4e
    Add todo() apio 2022-12-18 17:15:42 +0100
  • 4a7e48ed5d
    Make sure wchar_t is wide enough to hold all Unicode code-points apio 2022-12-18 17:14:12 +0100
  • 6c3b7672a0
    Kernel: Demo the initrd using TarStream apio 2022-12-18 16:39:35 +0100
  • 1d6092341a
    Add a generic TarStream class apio 2022-12-18 16:38:47 +0100
  • eadca3d25b
    Add nullcpy() apio 2022-12-18 16:31:02 +0100
  • 0d65f188f0
    Alignment.h: Include the Types apio 2022-12-18 16:30:27 +0100
  • 730d0682ee
    Result: Add try_set_value_with_specific_error() apio 2022-12-18 16:30:09 +0100
  • b01878cd3c
    Update README.md apio 2022-12-18 14:55:04 +0100
  • ffd3385d0d
    TextConsole: decoder -> utf8_decoder apio 2022-12-18 14:42:53 +0100
  • 6389099808
    UTF-8 part 2: Encoding wide-character strings into UTF-8 apio 2022-12-18 14:34:50 +0100
  • 9c1c6bb320
    Add wcslen() apio 2022-12-18 14:33:13 +0100
  • 36179155e1
    Add UTF-8 support to TextConsole!! apio 2022-12-18 13:09:37 +0100
  • 75ba14a3ad
    Add UTF-8 decoder support!! apio 2022-12-18 13:04:40 +0100
  • 23d405bbda
    Add an unreachable() macro function that panics if reached apio 2022-12-18 12:40:28 +0100
  • a89ae9bed7
    Run include-what-you-use apio 2022-12-17 15:51:19 +0100
  • 1b867151bd
    MemoryManager: Run include-what-you-use apio 2022-12-17 15:47:35 +0100
  • 95b0091622
    Split off arch/x86_64/CPU.cpp into various files apio 2022-12-17 15:45:06 +0100
  • 799a02c883
    Remove unnecessary std:: prefix from inside std apio 2022-12-17 15:33:47 +0100
  • d5b9ff1569
    Remove unused function definition apio 2022-12-17 15:30:57 +0100
  • e4b971f09c
    Make LinkedList::prepend() also set the element as the last one if we have no elements apio 2022-12-17 15:28:18 +0100
  • f5de9c5589
    LinkedList: Add a prepend() method apio 2022-12-17 15:27:16 +0100
  • c5220cbf64
    LinkedList: Rename append_after to add_after apio 2022-12-17 15:27:00 +0100
  • 2bc6398d3e
    TRY(): Call release_value() instead of expect_release_value() apio 2022-12-17 15:15:27 +0100
  • 34c738116c
    Result: Make some member functions const apio 2022-12-17 15:15:00 +0100
  • 90bd4a83c0
    Result, Option: Move member initialization to constructors apio 2022-12-17 15:14:27 +0100
  • ee6387e7b5
    Refactor NumberParsing.cpp + a lot of comments apio 2022-12-17 15:00:19 +0100
  • 97cb57d521
    Check for overflow/underflow in parse_signed_integer apio 2022-12-17 14:42:56 +0100