Commit Graph

352 Commits

Author SHA1 Message Date
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
Bananymous
6f9552d673 BAN: Add math to its own namespace 2023-01-10 19:11:27 +02:00
Bananymous
181478119e Kernel: Paging is now enabled by boot.S 2023-01-10 17:53:29 +02:00
Bananymous
ee83cd3430 BAN: Implement basic static array 2023-01-10 17:52:00 +02:00
Bananymous
85068e27d6 BAN: BAN/Memory.h now provides the operator new and delete 2023-01-10 17:51:33 +02:00
Bananymous
c6467b8ebc Kernel: Multiboot data and kernel command lines are now global variables 2023-01-10 17:50:24 +02:00
Bananymous
1a65ea977d BAN: Better ASSERT() 2023-01-10 17:43:18 +02:00
Bananymous
73cd08fa51 Kernel: Add script to run bochs debugger 2023-01-10 11:28:23 +02:00
Bananymous
5106552bfd Kernel: Serial output uses now "\r\n" as line endings 2023-01-10 11:24:30 +02:00
Bananymous
979a5960e4 Kernel: We don't use floating point arithemtic anymore in kernel 2023-01-10 11:10:17 +02:00
Bananymous
efd8638a96 Kernel: Improve kernel panic message and rename it 'panic'->'Panic' 2023-01-09 21:57:03 +02:00
Bananymous
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
Bananymous
086f0c7cf6 Kernel: Better error reporting from VESA and fix texmode rendering 2023-01-05 03:36:20 +02:00
Bananymous
d6623def32 Kernel: Paging uses now PAE with 2 MiB pages 2023-01-05 02:00:18 +02:00
Bananymous
a12ddfa12a Kernel: Update PS/2 controller 2023-01-04 19:22:23 +02:00
Bananymous
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
Bananymous
9d9a6b2fec Kernel: VESA can now print 8x16 bitmaps 2022-12-30 20:47:25 +02:00
Bananymous
f51ca4b642 Kernel: Rewrite IDT exception kernel panic message 2022-12-30 20:03:09 +02:00
Bananymous
fc05642b74 Kernel: Make Render from buffer public tty function 2022-12-30 19:57:44 +02:00
Bananymous
b60af90538 BAN: Add min, max and clamp 2022-12-30 19:52:16 +02:00
Bananymous
ef0b2010e0 Kernel: Add basic PS/2 Mouse driver 2022-12-30 19:38:21 +02:00
Bananymous
3c92aa45fb Kernel: 'cpuinfo' command in shell now shows wheter you are running on 64-bit cpu 2022-12-28 19:46:37 +02:00
Bananymous
267367333e Kernel: Move paging code to a helper 2022-12-28 19:01:01 +02:00
Bananymous
06a4ef1d87 Kernel: Commandline parsing does not depend on kmalloc anymore 2022-12-28 04:17:46 +02:00
Bananymous
5d7a767f8b Kernel: Enable basic paging 2022-12-28 04:17:34 +02:00
Bananymous
3e8590687f Kernel: Cleanup code and move kmalloc initialization to later 2022-12-28 04:16:21 +02:00