Commit Graph

1159 Commits

Author SHA1 Message Date
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
af8d486893 Kenrel: TTY fix cursor position with ANSI escapes 2023-01-13 15:04:06 +02:00
57cbd728db BAN: Rewrite Queue with move semantics 2023-01-13 15:04:06 +02:00
0f4e95acc5 BAN: Rewrite vector with move semantics 2023-01-13 15:04:06 +02:00
065e23d307 BAN: fix include 2023-01-13 15:04:06 +02:00
82a25f9035 BAN: implement placement new 2023-01-13 14:45:27 +02:00
61de71e0d5 BAN: Properly allocate/deallocate elements in Vector/Queue 2023-01-13 01:09:40 +02:00
6ed542d6bf BAN: Queue and Vector now default initialize newly allocated elements 2023-01-13 01:00:50 +02:00
c35181a92f BAN: ASSERT now prints the condition 2023-01-13 00:57:47 +02:00
53d1d12c12 BAN: String add operator=(StringView) 2023-01-13 00:57:47 +02:00
c33c6c5785 BAN: memcpy only if we already have a buffer 2023-01-13 00:17:19 +02:00
75ee592fb5 Kernel: remove debug print from MMU 2023-01-13 00:04:50 +02:00
6b73547989 All: edit gcc flags 2023-01-13 00:04:15 +02:00
7f01eaa936 Kernel: Move CPUID feature strings to cpp file 2023-01-13 00:03:37 +02:00
d0aa938b35 Kernel: remove unused function from kmalloc 2023-01-13 00:03:10 +02:00
4c7950cd3e Kernel: remove unused function from IDT 2023-01-13 00:02:39 +02:00
61bd9da8e0 BAN: Add [[nodiscard]] to BAN functions returning ErrorOr 2023-01-12 23:57:07 +02:00
78da037dda BAN: String, Queue and Vector dont use floating point arithmetic 2023-01-12 17:00:29 +02:00
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
f412c164b3 Kernel: Rename ACPI debug print macro 2023-01-12 13:48:05 +02:00
5493d1bae1 Kernel: Add debug print to MMU and fix comment 2023-01-12 13:46:02 +02:00
301ad89783 Kernel: Unallocate RSDT after we are done with it 2023-01-12 13:45:01 +02:00
087d14fbb7 Kenrel: Remove unnecessary print from kmalloc_initialize() 2023-01-12 13:24:41 +02:00
3dfe062de1 Kernel: Cleanup TTY code 2023-01-12 13:24:41 +02:00
33a4fcc662 Kernel: Add helper macro for bochs magic break point 2023-01-12 13:24:41 +02:00
8fd51fb47d Kernel: Replace Paging{.h,.cpp} with better MMU{.h,.cpp} 2023-01-12 13:24:36 +02:00
67308c36ad BAN: ErrorOr<void> does not do an heap allocation anymore 2023-01-12 00:11:54 +02:00
296b6d8529 bochs.sh now launches a seperate terminal to which it redirects com1 2023-01-11 20:18:08 +02:00
d02e3b19c7 BAN: Move operator new/delete to BAN/Memory.cpp
We also now implement alignment new
2023-01-10 21:59:40 +02:00
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
7d45b3cbd6 Kernel: Rewrote kmalloc to be much simpler and allow alignment 2023-01-10 21:10:36 +02:00
d89b6aa9ce Kernel: Serial output now gives clickable links 2023-01-10 21:09:59 +02:00
6f9552d673 BAN: Add math to its own namespace 2023-01-10 19:11:27 +02:00
181478119e Kernel: Paging is now enabled by boot.S 2023-01-10 17:53:29 +02:00
ee83cd3430 BAN: Implement basic static array 2023-01-10 17:52:00 +02:00
85068e27d6 BAN: BAN/Memory.h now provides the operator new and delete 2023-01-10 17:51:33 +02:00
c6467b8ebc Kernel: Multiboot data and kernel command lines are now global variables 2023-01-10 17:50:24 +02:00
1a65ea977d BAN: Better ASSERT() 2023-01-10 17:43:18 +02:00
73cd08fa51 Kernel: Add script to run bochs debugger 2023-01-10 11:28:23 +02:00
5106552bfd Kernel: Serial output uses now "\r\n" as line endings 2023-01-10 11:24:30 +02:00
979a5960e4 Kernel: We don't use floating point arithemtic anymore in kernel 2023-01-10 11:10:17 +02:00
efd8638a96 Kernel: Improve kernel panic message and rename it 'panic'->'Panic' 2023-01-09 21:57:03 +02:00
531f470132 Kernel: Add helper to map pages with base address and size
This allows us to easily map enough pages for buffer with known size

VESA driver can now allocate enough memory for whole framebuffer if it
doesn't fit in a single page (1920x1080 for example)
2023-01-05 03:44:41 +02:00
086f0c7cf6 Kernel: Better error reporting from VESA and fix texmode rendering 2023-01-05 03:36:20 +02:00
d6623def32 Kernel: Paging uses now PAE with 2 MiB pages 2023-01-05 02:00:18 +02:00
a12ddfa12a Kernel: Update PS/2 controller 2023-01-04 19:22:23 +02:00
fcec793873 Kernel: Shell now renders a mouse
PS/2 mouse doesn't seem to work with PIC.
2022-12-30 20:48:15 +02:00
9d9a6b2fec Kernel: VESA can now print 8x16 bitmaps 2022-12-30 20:47:25 +02:00
f51ca4b642 Kernel: Rewrite IDT exception kernel panic message 2022-12-30 20:03:09 +02:00
fc05642b74 Kernel: Make Render from buffer public tty function 2022-12-30 19:57:44 +02:00