Commit Graph

  • 59c9d8f119
    asm -> asm volatile apio 2022-12-17 14:32:24 +0100
  • acb0ab1cd7
    Use TypeTraits in Alignment.h to make static assertions more readable apio 2022-12-17 13:50:27 +0100
  • ace674e518
    LinkedList: Make sure the contained type inherits from DoublyLinkedListNode<T> apio 2022-12-17 13:49:47 +0100
  • 2cbc9fa385
    Add some nice TypeTraits apio 2022-12-17 13:48:55 +0100
  • f77126768f
    Improve message apio 2022-12-17 13:48:22 +0100
  • 16954695dd
    Tell the compiler that string_format is a printf-style function apio 2022-12-17 12:45:26 +0100
  • 16e00bada0
    Add comments to Format.h apio 2022-12-17 12:43:29 +0100
  • abbed13f27
    Add a 'pure' variant of cstyle_format which is infallible apio 2022-12-17 12:38:22 +0100
  • 48fcb8734a
    Give number parsing functions more meaningful names apio 2022-12-17 12:12:58 +0100
  • cf3b2176f0
    Implement OwnedStringView::from_string_literal apio 2022-12-17 11:36:16 +0100
  • df9a13cbfb
    KernelVM: Make g_used_vm atomic and g_kernelvm_bitmap a LockedValue apio 2022-12-17 10:54:09 +0100
  • 132963070b
    MemoryManager: Make some variables atomic and the frame bitmap a LockedValue apio 2022-12-17 10:53:49 +0100
  • f97515bd7e
    Kernel: Add Spinlock and LockedValue<T> apio 2022-12-17 10:52:40 +0100
  • 6e5d2b5335
    Thread: Make g_next_id atomic apio 2022-12-17 10:50:49 +0100
  • 14461c6fe8
    Atomic: Add operators += and -= apio 2022-12-17 10:49:19 +0100
  • 9d6235e109
    CPU: Add a pause() method apio 2022-12-17 10:45:55 +0100
  • a16f357ab9
    Add an Atomic class apio 2022-12-16 21:15:22 +0100
  • b316e3b3b7
    Print stack trace on assertion fail apio 2022-12-16 20:49:09 +0100
  • da39ba33a9
    Move OwnedStringView::operator[] out of line apio 2022-12-16 20:48:58 +0100
  • 59765aa334
    Rename String.h -> CString.h apio 2022-12-16 20:40:04 +0100
  • 42a2c2af49
    Add strdup() apio 2022-12-16 20:37:57 +0100
  • e56075fb46
    Use nothrow in raw_malloc apio 2022-12-16 20:36:43 +0100
  • 345e13965e
    Add missing include apio 2022-12-16 20:27:44 +0100
  • 4a6c59d519
    Make all methods in OwnedStringView const apio 2022-12-16 19:48:22 +0100
  • 2e24e09146
    Convert MemoryMapIterator to Option apio 2022-12-16 19:47:20 +0100
  • a32590ff8a
    Call expect_value more apio 2022-12-16 19:44:33 +0100
  • cedcfa9c63
    Improve cleanup on MemoryManager failure + add methods that use KernelVM apio 2022-12-16 19:36:38 +0100
  • 814672c771
    Remove some redundant error propagation apio 2022-12-16 18:32:29 +0100
  • 41b3c8adb2
    Convert to_dynamic_unit to OwnedStringView and rename the old variant to to_dynamic_unit_cstr apio 2022-12-16 18:18:24 +0100
  • be22cf6267
    Introduce OwnedStringView apio 2022-12-16 18:17:15 +0100
  • d759058b80
    Introduce std::nothrow apio 2022-12-16 18:14:48 +0100
  • 32c8869973
    Option: Simplify release_value apio 2022-12-16 18:13:40 +0100
  • 19a4e2ab58
    Result, Option: Make sure everything is properly moved apio 2022-12-16 18:11:17 +0100
  • e729c38200 Merge pull request 'Add an Option type and get rid of ENONE' (#19) from optionals-and-empty-errors into restart apio 2022-12-08 15:13:24 +0000
  • b9f3d3c349
    Remove ENONE #19 apio 2022-12-08 16:09:33 +0100
  • da104c87cb
    Heap: Return Option in split() apio 2022-12-08 16:09:12 +0100
  • b6173e2b67
    LinkedList: Return Option instead of ENONE if no value apio 2022-12-08 16:09:04 +0100
  • 406af68a54
    Result: Use Option as backend apio 2022-12-08 16:08:18 +0100
  • b58eba63f1
    Add a new Option class which behaves like Result, but has no error number, just a value or no value apio 2022-12-08 16:08:02 +0100
  • 6cee208e62
    Kernel: Enable -Wsign-conversion apio 2022-12-08 15:09:32 +0100
  • 779fda307a
    More scope guards!! apio 2022-12-08 15:01:04 +0100
  • 1d5d1daa57
    Add scope guards apio 2022-12-08 14:56:11 +0100
  • 6de7753b4c
    Add malloc wrappers apio 2022-12-07 18:17:49 +0100
  • c8302a4fef
    Add convenience functions to print the stack trace directly apio 2022-12-07 18:11:24 +0100
  • 0d437cfcca
    Add support for stack traces apio 2022-12-07 17:39:59 +0100
  • 416e96c4d5 Merge pull request 'Add a basic scheduler with threads' (#18) from threads into restart apio 2022-12-07 16:11:59 +0000
  • d93d95f23c Add sleeping mechanism apio 2022-12-07 15:55:58 +0100
  • 757cee4693 Add accessors for when you're sure a linked list is not empty apio 2022-12-07 15:21:50 +0100
  • 70497c37fb Check for runnable threads apio 2022-12-07 15:17:20 +0100
  • 57517252d8 Add a state to Thread apio 2022-12-07 15:14:58 +0100
  • f169718a4b Initialize and demo the scheduler apio 2022-12-07 15:04:11 +0100
  • c907e16311 x86_64: Invoke the scheduler every millisecond apio 2022-12-07 15:04:02 +0100
  • 13f5d09cfd Add a Scheduler!! apio 2022-12-07 15:03:34 +0100
  • 12aa014a3d Add a Thread class which can be part of a DoublyLinkedList apio 2022-12-07 15:02:46 +0100
  • fbd290c01b KernelVM: clean up a bit apio 2022-12-07 14:48:50 +0100
  • 8da5521273 Add a Stack convenience class apio 2022-12-07 14:48:24 +0100
  • 0bbd026660 CPU.h: pragma once apio 2022-12-07 14:48:08 +0100
  • 5d988c088f Make idle_loop noreturn apio 2022-12-07 14:46:56 +0100
  • f65ed465c4 Bitmap: Fix crash by attempting to memset -1 bits (UINT64_MAX) apio 2022-12-07 14:46:11 +0100
  • d3458f2f0f Bitmap: short circuit on 0-byte clears apio 2022-12-07 14:32:41 +0100
  • 4fdd1d57f5 Make build-debug.sh also add debug symbols to luna apio 2022-12-07 14:32:07 +0100
  • c657b302c9 Timer: add raw_ticks apio 2022-12-07 14:31:40 +0100
  • fd6a74e61c CPU: Add an idle_loop method apio 2022-12-07 12:26:09 +0100
  • 287c4ab060 Run clang-format apio 2022-12-07 12:25:42 +0100
  • bbfaa4645a Add a should_invoke_scheduler method apio 2022-12-07 12:15:30 +0100
  • 986aa01948
    size_t -> usize apio 2022-12-07 17:06:29 +0100
  • 6f05feb55f
    Add sleeping mechanism #18 apio 2022-12-07 15:55:58 +0100
  • 71d2b492ea
    Add accessors for when you're sure a linked list is not empty apio 2022-12-07 15:21:50 +0100
  • 6cd25fb9b1
    Check for runnable threads apio 2022-12-07 15:17:20 +0100
  • 021ea1063b
    Add a state to Thread apio 2022-12-07 15:14:58 +0100
  • 48fe2d4b04
    Initialize and demo the scheduler apio 2022-12-07 15:04:11 +0100
  • c561b0b310
    x86_64: Invoke the scheduler every millisecond apio 2022-12-07 15:04:02 +0100
  • f97e392f89
    Add a Scheduler!! apio 2022-12-07 15:03:34 +0100
  • ad11aa719e
    Add a Thread class which can be part of a DoublyLinkedList apio 2022-12-07 15:02:46 +0100
  • b9b7d1e201
    KernelVM: clean up a bit apio 2022-12-07 14:48:50 +0100
  • 8c04788793
    Add a Stack convenience class apio 2022-12-07 14:48:24 +0100
  • c5476115df
    CPU.h: pragma once apio 2022-12-07 14:48:08 +0100
  • b93a208f22
    Make idle_loop noreturn apio 2022-12-07 14:46:56 +0100
  • 98a55b2c13
    Bitmap: Fix crash by attempting to memset -1 bits (UINT64_MAX) apio 2022-12-07 14:46:11 +0100
  • 3248041aef
    Bitmap: short circuit on 0-byte clears apio 2022-12-07 14:32:41 +0100
  • cbf061d18f
    Make build-debug.sh also add debug symbols to luna apio 2022-12-07 14:32:07 +0100
  • 7c557b2eb4
    Timer: add raw_ticks apio 2022-12-07 14:31:40 +0100
  • 7db1a8253b
    CPU: Add an idle_loop method apio 2022-12-07 12:26:09 +0100
  • f456eb3b6a
    Run clang-format apio 2022-12-07 12:25:42 +0100
  • 56205a4a2f
    Add a should_invoke_scheduler method apio 2022-12-07 12:15:30 +0100
  • beab3454b5
    kernel: Enable -Wsign-conversion and -Wcast-align apio 2022-12-07 11:47:46 +0100
  • 1badc40a4a
    Run include-what-you-use everywhere apio 2022-12-07 11:40:02 +0100
  • c2927de191
    Remove unused includes apio 2022-12-07 11:22:34 +0100
  • a3b69a0cfa
    Update README.md apio 2022-12-07 11:13:16 +0100
  • ee276a3a35
    Add the nodiscard attribute to make and make_array apio 2022-12-07 11:01:45 +0100
  • dad95a8160
    Map the page bitmap to virtual memory apio 2022-12-07 10:58:59 +0100
  • 1ebd892c16
    Convert uses of u64 to usize apio 2022-12-07 10:55:47 +0100
  • 8598b1e8fc
    Replace the _noreturn macro with the C++ native attribute [[noreturn]] apio 2022-12-06 19:40:35 +0100
  • c099877c35
    Remove unnecessary error propagation in Log.cpp apio 2022-12-06 19:35:34 +0100
  • 314acbfe21
    Change the serial log to display only milliseconds apio 2022-12-06 19:31:41 +0100
  • 39b310b6b9
    Make alignment a template parameter to help the compiler optimize apio 2022-12-06 19:27:58 +0100
  • d48eb85d1d
    Heap: Avoid magic numbers apio 2022-12-06 19:05:00 +0100
  • b5c6ae253d
    Make LinkedList a lot better apio 2022-12-06 18:41:35 +0100
  • 09e447d9d2
    Heap: Use LinkedList instead of doing things manually apio 2022-12-06 18:28:04 +0100
  • d8f75f1d3c
    LinkedList: Add an append_after() method apio 2022-12-06 18:25:08 +0100