Commit Graph

  • af854ec9e1 Kernel: Thread creation now takes void(*)() as entry and void* as data Bananymous 2023-03-09 15:25:39 +0200
  • 8dbece9119 Kernel: kmalloc minimum align is forced to s_kmalloc_min_align Bananymous 2023-03-09 14:37:25 +0200
  • 8940ff8002 Kernel: You don't have to check whether VFS is initialized or not Bananymous 2023-03-09 02:31:24 +0200
  • fc58baf54d Kernel: if VFS initialization does not find root, we fail Bananymous 2023-03-09 02:17:42 +0200
  • 392da37f9a BAN: Function storage is now aligned as CallableBase and not max_align_t Bananymous 2023-03-09 01:42:17 +0200
  • 2e6e0d0ef5 Kernel: FIX ubsan complaining about unaligned addresses for STDHeaders Bananymous 2023-03-08 22:55:44 +0200
  • 371dfe8ef3 BAN: Formatter now uses perfect forwarding on its arguments Bananymous 2023-03-08 21:31:26 +0200
  • 3ac99f1bd8 BAN: Add more traits and cleanup code Bananymous 2023-03-08 21:30:21 +0200
  • 7458f68c38 BAN: Error can now be constructed from c_string or format string Bananymous 2023-03-08 17:05:37 +0200
  • d90aba0963 Kernel: Create CriticalScope and fix kmalloc Bananymous 2023-03-08 13:51:09 +0200
  • a068d828fe Kernel: ATA reads go through the ata controller and not only device Bananymous 2023-03-08 03:24:52 +0200
  • 1dabe7a222 Kernel: More rework on Scheduler Bananymous 2023-03-08 03:23:46 +0200
  • e7a577f54a Kernel: fix includes Bananymous 2023-03-08 03:22:49 +0200
  • 23b3028e15 Kernel: Rename RefCounted -> RefPtr and implement RefCounted Bananymous 2023-03-08 03:21:30 +0200
  • f7ebda3bf1 Kernel: Move interrupt related functions to InterruptController Bananymous 2023-03-08 03:16:51 +0200
  • b5673278c4 Kernel: Disable color after Debug::dump_stack_trace Bananymous 2023-03-08 01:21:17 +0200
  • 0b62729887 Kernel: Scheduler sleeping is working Bananymous 2023-03-07 23:22:25 +0200
  • b8ee77eb78 Kernel: Initial work on new scheduler with queues Bananymous 2023-03-07 19:17:49 +0200
  • a9acf1f6dc Kernel: PCIDevice is now class with getters and constructor Bananymous 2023-03-07 18:56:08 +0200
  • b4ce438ca7 Build: install-usb now prints write size correctly in MiB Bananymous 2023-03-07 18:51:36 +0200
  • 42c33ebfb3 Kernel: kmalloc aligns size to s_kmalloc_min_align Bananymous 2023-03-07 18:50:26 +0200
  • ed18d86f08 Kernel: Fix spinlock unlocking in x86_64 Bananymous 2023-03-07 18:47:13 +0200
  • df8811fc1a Kernel: Remove "a" from .section .text Bananymous 2023-03-07 01:57:09 +0200
  • 8a52c0f9d7 Kernel: Cleanup RSDP parsing code Bananymous 2023-03-07 00:41:13 +0200
  • 06db890d49 Kernel: Add ubsan Bananymous 2023-03-06 23:38:05 +0200
  • e480f9c195 BAN: RefCounted<> frees count if object allocation fails Bananymous 2023-03-06 13:17:04 +0200
  • d5f302a68b Kernel: kmalloc now uses two locks Bananymous 2023-03-06 12:40:35 +0200
  • e3a71289c0 BAN: fix LinkedList back/front functions Bananymous 2023-03-06 01:46:52 +0200
  • 10ef3c6a54 LibC: add declarations for malloc and free Bananymous 2023-03-04 02:59:48 +0200
  • f1f5e76636 Kernel: kmalloc requires alignment to be power of two Bananymous 2023-03-02 22:31:13 +0200
  • 81cb342c12 BAN: Remove #error macros Bananymous 2023-03-02 22:30:32 +0200
  • 53ec66ff86 LibC: strerror now always uses a buffer to which it copies the string Bananymous 2023-03-02 22:13:08 +0200
  • 1c146ba1a5 BAN: remove aligned alloc from ban Bananymous 2023-03-02 22:12:42 +0200
  • 52aa98ba25 Kernel+LibC: Add some errno codes Bananymous 2023-03-02 21:10:44 +0200
  • 90a7268e5a BAN: Rewrite RefCounted to return ErrorOr Bananymous 2023-03-02 12:30:11 +0200
  • 1dd61e93b6 Kernel: Threads cannot take arguments anymore Bananymous 2023-03-02 01:56:09 +0200
  • 4d8bdec16d Kernel: fix i386 MMU Bananymous 2023-03-02 00:47:29 +0200
  • 7fcbb869e1 Kernel: Initialize GDT in kernel code Bananymous 2023-03-01 21:21:08 +0200
  • 7f8cad83b1 Kernel: x86_64 boot script now makes GDT with null, kernel code and data Bananymous 2023-03-01 20:17:03 +0200
  • ba8c4dbc7f Kernel: panic now disables interrupts as the first thing Bananymous 2023-03-01 20:16:26 +0200
  • 9756de02ef Kernel: MMU now takes flags when allocating pages Bananymous 2023-03-01 20:15:58 +0200
  • 7d84f290a1 Kernel: Add lock to Disk reads before I forget Bananymous 2023-02-26 03:48:11 +0200
  • ee5d02aa70 Kernel: Rewrite basically all current disk io stuff Bananymous 2023-02-26 03:00:29 +0200
  • 048a2ebb95 ALL: Disk image's root partition now has name 'banan-root' Bananymous 2023-02-26 02:59:33 +0200
  • 40cf68a22a Kernel: Shell now sleeps through Scheduler and doesn't 'hlt' Bananymous 2023-02-26 02:57:27 +0200
  • 04bb08d27f Kernel: Add basic PCI enumeration Bananymous 2023-02-26 02:56:53 +0200
  • dc1a4614fb BAN: Errors are now moved around with TRY() Bananymous 2023-02-26 02:54:34 +0200
  • 9439582154 BAN: Add ASSERT_NOT_REACHED() Bananymous 2023-02-26 02:53:58 +0200
  • 34f9912a1d Kernel: Add IO functions inl, outl, and ins{b,w,l} to read into buffer Bananymous 2023-02-24 12:39:38 +0200
  • 80f9428337 Kernel: Fix prefs font for 32 bit Bananymous 2023-02-24 03:19:54 +0200
  • 6c1f0d1dc8 BAN: Add big_endian_to_host in Math Bananymous 2023-02-23 15:58:32 +0200
  • 5cd97e44e2 LibC: Add strcmp and strncmp Bananymous 2023-02-23 15:57:33 +0200
  • 390a747768 Kernel: Add prefs font for terminal output before file system Bananymous 2023-02-23 01:22:50 +0200
  • a4980acc88 Kernel: Fonts can now be parsed from the filesystem and set to terminal Bananymous 2023-02-22 22:29:31 +0200
  • 0e668738dc Kernel: Make some basic bitmap font parsing code Bananymous 2023-02-22 22:28:12 +0200
  • a3e9e7d125 Kernel: Fix some shell commands Bananymous 2023-02-22 21:55:32 +0200
  • 4cd99c71ca Kernel: kmalloc uses now spinlock and fix kmalloc_fixed() Bananymous 2023-02-22 21:49:28 +0200
  • c9ea22f5e2 Kernel: IDT now confirms that it allocated succesfully Bananymous 2023-02-22 21:48:40 +0200
  • 0e77b4dc4e BAN: You can now transform little endian data to host endian Bananymous 2023-02-22 21:47:22 +0200
  • f98f3d851c BAN: HashMap uses LinkedList as bucket, so kmalloc_fixed can be used Bananymous 2023-02-22 21:46:41 +0200
  • a845f8696c BAN: Add function to decode utf-8 encoded strings Bananymous 2023-02-22 21:45:26 +0200
  • d9c05b7378 Kernel: rewrite the whole kmalloc (again) Bananymous 2023-02-22 16:18:14 +0200
  • 4afc4660a4 BAN: Basic containers have shrink_to_fit() method Bananymous 2023-02-22 02:07:05 +0200
  • 5d31e89574 Kernel: Update ErrorOr API and add path find to VFS Bananymous 2023-02-22 01:23:11 +0200
  • 9aab67fed8 BAN: make all Math functions inline constexpr Bananymous 2023-02-22 01:17:56 +0200
  • 10b6d51522 BAN: implement Variant<> for two types Bananymous 2023-02-22 01:17:21 +0200
  • afd4b7a184 BAN: HashMap now copies size when copying :D Bananymous 2023-02-22 01:16:07 +0200
  • 038379274e Kernel: Inode can now return full mode value Bananymous 2023-02-20 21:39:24 +0200
  • fbc17eb6dd BAN: Implement basic HashMap Bananymous 2023-02-20 16:00:51 +0200
  • efaca469ee Kernel: Ext2Inode now supports indirect blocks through for_each_block() Bananymous 2023-02-20 10:25:15 +0200
  • 80006ea137 Kernel: Initial work on filesystem Bananymous 2023-02-20 01:46:00 +0200
  • 247f03c79e BAN: Make ErrorOr<> have attribute [[nodiscard]] Bananymous 2023-02-19 20:10:30 +0200
  • feaeee11e5 Kernel: fix ARCH() macro and add helper macros for push/pop Bananymous 2023-02-19 18:17:53 +0200
  • 0506fee34a Kernel: Shell's thread now uses sleep instead of polling Bananymous 2023-02-19 17:54:11 +0200
  • 1bd8b0fe5c Kernel: Sleep now actually sleeps and allows idling Bananymous 2023-02-19 17:53:29 +0200
  • 66a4b69a29 BAN: Math now uses template concepts and add div_round_up Bananymous 2023-02-19 00:48:56 +0200
  • eacf551d0f Build: Make install-usb.sh print human readable size Bananymous 2023-02-19 00:48:25 +0200
  • 8f1b6da2af Kernel: Use Vector instead of raw poiters in Disk stuff Bananymous 2023-02-16 20:48:41 +0200
  • 7f12a7050a BAN: Add data() to Vector. Bananymous 2023-02-16 20:47:49 +0200
  • 460fc3a29f Kernel: Start working on filesystem Bananymous 2023-02-16 20:00:31 +0200
  • 94cbacc998 Kernel: PIT now has very barebones sleep Bananymous 2023-02-16 17:53:25 +0200
  • 1b45b4d728 Kernel: Remove unnecessary BOCKS_BREAK() Bananymous 2023-02-16 17:52:39 +0200
  • f188fea81c BAN: Implement basic HashSet Bananymous 2023-02-10 02:59:52 +0200
  • 7630df84ad BAN: Add basic hashing functionality Bananymous 2023-02-10 02:59:30 +0200
  • 4f8fcf0bd7 BAN: Add Formatter specialization for Vector Bananymous 2023-02-10 02:58:14 +0200
  • f68ae01d0c BAN: Fix ErrorOr<void> to actually set error byte Bananymous 2023-02-10 01:06:18 +0200
  • 7ee4ecd7f4 BAN: Vector's and Queue's underlying type is T* instead of uint8_t* Bananymous 2023-02-10 00:06:58 +0200
  • e5ffc1686f BAN: Vector::const_iterator now uses const T* as underlying type Bananymous 2023-02-09 23:06:49 +0200
  • bfc9a2377c BAN: LinkedList now uses iterators instead of const_iterators on methods Bananymous 2023-02-09 23:06:16 +0200
  • 6a133782ed All: Move to c++20 Bananymous 2023-02-09 23:05:26 +0200
  • 338771c5b0 BAN: Cleanup Vector code Bananymous 2023-02-06 19:23:39 +0200
  • 08dfb0e1db BAN: Cleanup LinkedList code Bananymous 2023-02-06 19:01:52 +0200
  • 0eb1fb8bae Buildsystem: Build disk image manually Bananymous 2023-02-04 23:46:11 +0200
  • fb7fe73d49 Kernel: Add inw and outw to IO Bananymous 2023-02-04 23:37:34 +0200
  • 6fab26692b Kernel: remove unnecessary function from x86_64 Thread.S Bananymous 2023-02-02 23:48:18 +0200
  • 2161528cb6 Kernel: Shell is now launched as a capturing lambda Bananymous 2023-02-02 23:27:51 +0200
  • cdbad56ed7 Kernel: Update shell thread command to run following command as thread Bananymous 2023-02-02 23:26:19 +0200
  • 5b5e620d8a Kernel: Improve multithreading support Bananymous 2023-02-02 23:24:12 +0200
  • 777ede328e Kernel: Add helper functions for reading current rsp and rbp Bananymous 2023-02-02 23:19:44 +0200
  • 2403df50bb BAN: Add getter for Function size Bananymous 2023-02-02 23:19:18 +0200