Bananymous
10c7ef7baa
Kernel: MMU rename weird variable
2023-01-22 20:16:44 +02:00
Bananymous
62469c529f
Kernel: IDT now allocates descriptors with kmalloc_eternal
2023-01-22 03:18:42 +02:00
Bananymous
cdd27ae3db
Kernel: rename MMU::m_page_directory_pointer_table -> m_highest_paging_stuct
...
This might not always be pdpt. In x86_64 it is pml4/pml5
2023-01-22 03:03:58 +02:00
Bananymous
6ec4ba3dc9
Kernel: Move dump_backtrace() out of arch.
...
I discovered __builtin_frame_address()
2023-01-22 03:00:13 +02:00
Bananymous
fbfb3d6b70
Kernel: IDT cleanup GateDesctiptor usage
...
And move everything to IDT namespace
2023-01-22 02:06:43 +02:00
Bananymous
558374a47c
Kernel: IDT flush only once in initialization
2023-01-22 02:06:43 +02:00
Bananymous
6e24ef8323
Kernel: IDT cleanup Kernel panic messages
2023-01-22 02:06:43 +02:00
Bananymous
3e8fbbaabd
Kernel: Fix small typos in IDT
2023-01-22 01:12:47 +02:00
Bananymous
491610db2c
Kernel: move GDT initialization to boot.S
2023-01-22 00:48:12 +02:00
Bananymous
aac7595a47
Kernel: cleanup boot.S code and enable SSE
2023-01-21 23:44:23 +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
b9a4530e54
Kernel: Kernel::Panic now dumps stacktrace to com1
2023-01-16 21:50:50 +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
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
75ee592fb5
Kernel: remove debug print from MMU
2023-01-13 00:04:50 +02:00
Bananymous
7f01eaa936
Kernel: Move CPUID feature strings to cpp file
2023-01-13 00:03:37 +02:00
Bananymous
4c7950cd3e
Kernel: remove unused function from IDT
2023-01-13 00:02:39 +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
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
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
c6467b8ebc
Kernel: Multiboot data and kernel command lines are now global variables
2023-01-10 17:50:24 +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
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
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
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
Bananymous
9169020ad2
Kernel: Remove unnecessary checks from GraphicsPutCharAt()
2022-12-27 18:29:51 +02:00
Bananymous
620b836fc3
Kernel: VESA now somewhat handles Cursor in Graphics mode
2022-12-27 18:29:02 +02:00
Bananymous
2d46281c16
Kernel: TTY scroll is now done using memmove
...
This will be faster when memory functions will be optimized
2022-12-27 17:45:47 +02:00
Bananymous
5ae1fc58e9
Kernel: Clean code in tty and vesa
2022-12-27 17:22:45 +02:00
Bananymous
2535eb1c4c
Kernel: TTY now handles keeping terminal buffer
...
VESA Driver cannot scroll anymore, this is handled by tty
2022-12-27 17:06:33 +02:00
Bananymous
f7eb85babd
Kernel: IDT exceptions print better errors now
2022-12-23 15:56:10 +02:00
Bananymous
d8fd6afd12
Kernel: Make TTY a class
2022-12-23 15:55:45 +02:00