Commit graph

52 commits

Author SHA1 Message Date
Felix Queißner
98900c9069 Fixes stupid bug.... 2016-05-07 18:51:34 +02:00
Felix Queißner
012cc69edb Adds ultra-simple program loader and executor. Currently yields a Page Fault. 2016-05-07 17:00:08 +02:00
Felix Queißner
455a6db8b5 Adds virtual memory management with paging :) 2016-05-07 14:10:37 +02:00
Felix Queißner
e97921e246 Reworks BSOD into fancy BSOD. 2016-05-06 23:50:45 +02:00
Felix Queißner
245895d7bd Fixes bug in PIC.cpp: I AM STUPID. Data port is always 0x01, not incrementing... m( 2016-05-06 22:53:08 +02:00
Felix Queißner
ae33573513 Doh! 2016-05-06 20:04:25 +02:00
Felix Queißner
09cd19d3c7 Moves base.hpp to driver.hpp. Adds Timer driver. 2016-05-06 19:37:43 +02:00
Felix Queißner
29c4b6fc4c Moves Error to lists. 2016-05-06 19:30:29 +02:00
Felix Queißner
949e1f8e31 Adds ./lists for S-Macro listings. 2016-05-06 19:24:12 +02:00
Felix Queißner
d9d283e5ac PMM::alloc now dies with a BSOD instead of returning an invalid value. Adds stub of scheduler driver. 2016-05-06 12:35:22 +02:00
Felix Queißner
ec8eb4a7d8 Adds keyboard driver stub. 2016-05-06 09:44:02 +02:00
Felix Queißner
8cb13eb9df Adds interrupt handlers. 2016-05-06 09:28:30 +02:00
Felix Queißner
55cdb2050c Removes exception from init.cpp 2016-05-05 19:51:38 +02:00
Felix Queißner
9a8f9e956f Implements BSOD. 2016-05-05 19:51:04 +02:00
Felix Queißner
5829e701df Adds improved interrupt handling. 2016-05-05 19:38:40 +02:00
Felix Queißner
bae2c0a763 Adds interrupt controller class. 2016-05-05 19:29:52 +02:00
Felix Queißner
b31d9164d6 Adds PIC initialization and hardware interrupts. 2016-05-05 19:02:23 +02:00
Felix Queißner
79b7238d84 Prints CPU state on interrupt. 2016-05-05 17:16:56 +02:00
Felix Queißner
7ae608fc3c Adds numeric prefixes to console printing. 2016-05-05 17:16:47 +02:00
Felix Queißner
b3b0ac66fb Interrupt support! 2016-05-05 17:06:11 +02:00
Felix Queißner
cd4daaab7a First draft of the interrupt handler system. 2016-05-05 15:59:48 +02:00
Felix Queißner
4e21175e8e Adds GDT initialization. 2016-05-05 13:15:29 +02:00
Felix Queißner
8e247ba638 Adds GDT SegmentDescriptors. 2016-05-05 12:42:55 +02:00
Felix Queißner
dc1166758e Adds memory measurement. 2016-05-05 11:35:08 +02:00
Felix Queißner
3b6bd5ca87 Adds marking the memory used by the kernel as used. 2016-05-04 18:00:16 +02:00
Felix Queißner
3f77600a86 Adds alignment to pointer<T>. Adds markUsed to PMM. 2016-05-04 17:59:50 +02:00
Felix Queißner
0b7b656b01 Adds initialization of PMM with multiboot structure. Adds allocation test. 2016-05-04 17:42:09 +02:00
Felix Queißner
732301b0c1 Changes pmm bitmap size from 16 MB to 4 GB. 2016-05-04 17:37:59 +02:00
Felix Queißner
87f83eeca3 Changes PMM internals from "all free" to "all used". Adds markFree, removes markOccupied. 2016-05-04 17:33:53 +02:00
Felix Queißner
15cabe92ad Adds format functions with NumericFormat<T>, bin(), hex(), dec(), oct(). Adds 64bit support for number-to-string conversion. 2016-05-04 17:33:03 +02:00
Felix Queißner
f4ac435a2b Adds libgcc for better compatibility. 2016-05-04 17:19:40 +02:00
Felix Queißner
a9ebf0326c Adds some memory map debugging. 2016-05-04 16:33:59 +02:00
Felix Queißner
b8856b977d Adds caret movement. 2016-05-04 16:30:58 +02:00
Felix Queißner
cc7a33b0cf Adds io.hpp 2016-05-04 16:30:33 +02:00
Felix Queißner
a39395cd12 Adds support for pointer types to console. 2016-05-04 15:49:55 +02:00
Felix Queißner
80a7c9dccf Passes multiboot structure to the system. 2016-05-04 11:51:23 +02:00
Felix Queißner
3ba62396cf Outs multiboot structure to init(), missing correct parameter passing. 2016-05-04 10:40:11 +02:00
Felix Queißner
d8e269a959 Further improvements on the multiboot header file. 2016-05-04 10:33:16 +02:00
Felix Queißner
9c768bb5b5 Changes pointer::invalid to uint32-ammax. Adds multiboot structure. 2016-05-04 10:17:56 +02:00
Felix Queißner
d557bedaa9 Updates PMM to use physical_t instead of void* 2016-05-03 17:49:04 +02:00
Felix Queißner
1771a81bc2 More documentation for pointer<T>. 2016-05-03 17:22:16 +02:00
Felix Queißner
02d6f683e8 Adds pointer.hpp which provides a wrapper around a simple pointer. 2016-05-03 17:18:30 +02:00
Felix Queißner
167e578276 Adds semi-tested version of PMM. Adds fancy boolean printing. 2016-05-03 17:07:58 +02:00
Felix Queißner
e8666e90ae Fancy fancy numeric module. 2016-05-03 16:11:36 +02:00
Felix Queißner
99704be202 Implements simple bitmap allocation. 2016-05-03 09:23:38 +02:00
Felix Queißner
782fddf606 Adds stub class for physical memory managment. 2016-05-03 00:43:14 +02:00
Felix Queißner
e45cd0e40e Adds usability methods to Console. 2016-05-02 18:45:03 +02:00
Felix Queißner
df83857843 Adds scrolling. 2016-05-02 18:17:15 +02:00
Felix Queißner
a17b936cfb Adds support for console colors. 2016-05-02 09:32:27 +02:00
Felix Queißner
9e3bfe3f82 Adds basic Console class. 2016-05-02 09:25:08 +02:00