Bananymous
aac7595a47
Kernel: cleanup boot.S code and enable SSE
2023-01-21 23:44:23 +02:00
Bananymous
fdbc04f29d
Kernel: kmalloc now uses the actual kernel end location
2023-01-21 22:40:23 +02:00
Bananymous
9088f7b305
Kernel: kmalloc prints addresses on panic
2023-01-21 22:29:44 +02:00
Bananymous
b5453fad5c
Kernel: dump_stacktrace uses now "\r\n" line endings for bochs
2023-01-21 22:21:38 +02:00
Bananymous
bb051604a1
Kernel: Move dump_stacktrace() to arch folder
...
It uses mov instruction which has different register on x86/x86-64
2023-01-21 22:16:31 +02:00
Bananymous
9e092c80c0
Kernel: Cleanup boot.S
2023-01-21 22:16:01 +02:00
Bananymous
53a5ad3cf9
BAN: Function now properly forward arguments
2023-01-17 11:16:46 +02:00
Bananymous
b9a4530e54
Kernel: Kernel::Panic now dumps stacktrace to com1
2023-01-16 21:50:50 +02:00
Bananymous
7540fa0385
Kernel: Shell now 'properly' parses commandline
2023-01-16 20:09:22 +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
d5e162b1ea
Kernel: fix kmalloc header
2023-01-16 12:10:50 +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
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
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
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
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
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