Commit Graph

1577 Commits

Author SHA1 Message Date
Bananymous
7540fa0385 Kernel: Shell now 'properly' parses commandline 2023-01-16 20:09:22 +02:00
Bananymous
fd16c1cf58 LibC: Add is*() functions to libc 2023-01-16 20:05:51 +02:00
Bananymous
5122d27f89 BAN: Add Front() and Back() to StringView 2023-01-16 18:56:51 +02:00
Bananymous
e307db47eb Kernel: Kernel::Panic() will now always print to serial output 2023-01-16 15:44:27 +02:00
Bananymous
73abc3b2ee fixup! Kernel: Move GDT to its own namespace and cleanup 2023-01-16 15:24:59 +02:00
Bananymous
46e5b3f3d6 Kernel: Move GDT to its own namespace and cleanup 2023-01-16 15:24:10 +02:00
Bananymous
b46fa0d116 Kernel: Shell can now dump kmalloc info 2023-01-16 15:17:00 +02:00
Bananymous
8881c1e117 Kernel: Shell is no longer singleton 2023-01-16 15:16:39 +02:00
Bananymous
1545850be3 Kernel: Input callbacks use the new BAN::Function 2023-01-16 15:15:02 +02:00
Bananymous
3561257286 BAN: Add basic Function for function pointers and member functions 2023-01-16 15:09:27 +02:00
Bananymous
d5e162b1ea Kernel: fix kmalloc header 2023-01-16 12:10:50 +02:00
Bananymous
a02d4c59ed BAN: Vector and Queue replace Address() with AddressOf and correct const 2023-01-16 12:10:16 +02:00
Bananymous
c62d512d68 BAN: Add Iterator and ConstIterator to Vector 2023-01-13 17:48:19 +02:00
Bananymous
689338b506 Kernel: kmalloc can now dump current memory usage 2023-01-13 17:42:19 +02:00
Bananymous
f547a788f2 Kernel: Add support for arrow keys in Shell 2023-01-13 15:07:24 +02:00
Bananymous
bf4b26d1fd Kernel: kmalloc now returns nullptr if you try to allocate over kmalloc size 2023-01-13 15:04:06 +02:00
Bananymous
32453daf66 Kernel: actually dont map page 0 2023-01-13 15:04:06 +02:00
Bananymous
416a41745f Kernel: Kernel::Panic now checks that TTY is initialized instead of VESA 2023-01-13 15:04:06 +02:00
Bananymous
77e82de51e Kernel: Make IDT exceptions use a single Kernel:Panic
This allows IDT to print exceptions even when we dont have TTY
2023-01-13 15:04:06 +02:00
Bananymous
af8d486893 Kenrel: TTY fix cursor position with ANSI escapes 2023-01-13 15:04:06 +02:00
Bananymous
57cbd728db BAN: Rewrite Queue with move semantics 2023-01-13 15:04:06 +02:00
Bananymous
0f4e95acc5 BAN: Rewrite vector with move semantics 2023-01-13 15:04:06 +02:00
Bananymous
065e23d307 BAN: fix include 2023-01-13 15:04:06 +02:00
Bananymous
82a25f9035 BAN: implement placement new 2023-01-13 14:45:27 +02:00
Bananymous
61de71e0d5 BAN: Properly allocate/deallocate elements in Vector/Queue 2023-01-13 01:09:40 +02:00
Bananymous
6ed542d6bf BAN: Queue and Vector now default initialize newly allocated elements 2023-01-13 01:00:50 +02:00
Bananymous
c35181a92f BAN: ASSERT now prints the condition 2023-01-13 00:57:47 +02:00
Bananymous
53d1d12c12 BAN: String add operator=(StringView) 2023-01-13 00:57:47 +02:00
Bananymous
c33c6c5785 BAN: memcpy only if we already have a buffer 2023-01-13 00:17:19 +02:00
Bananymous
75ee592fb5 Kernel: remove debug print from MMU 2023-01-13 00:04:50 +02:00
Bananymous
6b73547989 All: edit gcc flags 2023-01-13 00:04:15 +02:00
Bananymous
7f01eaa936 Kernel: Move CPUID feature strings to cpp file 2023-01-13 00:03:37 +02:00
Bananymous
d0aa938b35 Kernel: remove unused function from kmalloc 2023-01-13 00:03:10 +02:00
Bananymous
4c7950cd3e Kernel: remove unused function from IDT 2023-01-13 00:02:39 +02:00
Bananymous
61bd9da8e0 BAN: Add [[nodiscard]] to BAN functions returning ErrorOr 2023-01-12 23:57:07 +02:00
Bananymous
78da037dda BAN: String, Queue and Vector dont use floating point arithmetic 2023-01-12 17:00:29 +02:00
Bananymous
4ae4ad528a Kernel: APIC use dprintln instead of kprintln
VESA drivers will be initialized much later now so kprintln
will not be available when initializing APIC
2023-01-12 13:52:22 +02:00
Bananymous
f412c164b3 Kernel: Rename ACPI debug print macro 2023-01-12 13:48:05 +02:00
Bananymous
5493d1bae1 Kernel: Add debug print to MMU and fix comment 2023-01-12 13:46:02 +02:00
Bananymous
301ad89783 Kernel: Unallocate RSDT after we are done with it 2023-01-12 13:45:01 +02:00
Bananymous
087d14fbb7 Kenrel: Remove unnecessary print from kmalloc_initialize() 2023-01-12 13:24:41 +02:00
Bananymous
3dfe062de1 Kernel: Cleanup TTY code 2023-01-12 13:24:41 +02:00
Bananymous
33a4fcc662 Kernel: Add helper macro for bochs magic break point 2023-01-12 13:24:41 +02:00
Bananymous
8fd51fb47d Kernel: Replace Paging{.h,.cpp} with better MMU{.h,.cpp} 2023-01-12 13:24:36 +02:00
Bananymous
67308c36ad BAN: ErrorOr<void> does not do an heap allocation anymore 2023-01-12 00:11:54 +02:00
Bananymous
296b6d8529 bochs.sh now launches a seperate terminal to which it redirects com1 2023-01-11 20:18:08 +02:00
Bananymous
d02e3b19c7 BAN: Move operator new/delete to BAN/Memory.cpp
We also now implement alignment new
2023-01-10 21:59:40 +02:00
Bananymous
64c57ea3d0 Kernel: Remove obsole CPUID::IsAvailable
This is now a harware requirement that is verified already in boot.S
2023-01-10 21:28:59 +02:00
Bananymous
7d45b3cbd6 Kernel: Rewrote kmalloc to be much simpler and allow alignment 2023-01-10 21:10:36 +02:00
Bananymous
d89b6aa9ce Kernel: Serial output now gives clickable links 2023-01-10 21:09:59 +02:00