1820286d8b
stuff
2022-09-07 10:33:22 +02:00
97aef95daa
Fix format specifiers
2022-09-06 18:31:27 +02:00
86e53c3004
Added rebuild*.sh scripts
2022-09-06 18:27:24 +02:00
c9e13f0128
Add attribute(format) to *printf to detect ill-formed calls to those functions
2022-09-06 18:25:38 +02:00
bd0a24097f
Add a KernelMemoryManager namespace to wrap PMM + VMM
2022-09-06 18:08:15 +02:00
0fbc68ca88
Finish VMM
2022-09-06 13:49:17 +02:00
8bff2ee0f5
Add a RangeAllocator which serves as a physical memory allocator
2022-09-06 13:21:54 +02:00
716974a916
Add a minimal shutdown method, that only works on emulators (at least for now)
2022-09-06 12:13:43 +02:00
a8aca62771
Remove loop from the end of reboot since hang is now noreturn as well
2022-09-06 12:13:20 +02:00
003c730117
Make hang() noreturn
2022-09-06 12:12:55 +02:00
99192204fe
Update main.cpp with new functionality
2022-09-06 11:48:06 +02:00
a1659aa127
Add a reboot() function
...
This reboot function first tries to reboot using ACPI, then pulsing the CPU's RESET line through the keyboard, then triple-faulting. If we're still there, it halts.
2022-09-06 11:47:55 +02:00
aa673e1402
Add FADT header
2022-09-06 11:47:00 +02:00
5b132e3197
Fix FindTable method to work properly with RSDT instead of XSDT
2022-09-06 11:46:47 +02:00
f7f8c1068a
Move SDTHeader to separate file
2022-09-06 11:46:26 +02:00
78fe37ddb3
Move declaration of IDTR to header
2022-09-06 11:44:37 +02:00
6a6be3292d
Memory::get_system and Memory::get_usable
2022-09-05 17:13:12 +02:00
1367e88d88
Finally implement %l and %z format modifiers
...
Finally, we can use %zx with a 64-bit number instead of %x%x with 2 32-bit values split from a 64-bit number!
2022-09-05 16:59:45 +02:00
b47b86884f
Removed InitRD test code from main.cpp
2022-09-05 16:29:32 +02:00
1b727a66ea
Ready. Set. Go!
2022-09-05 16:13:51 +02:00