52 Commits

Author SHA1 Message Date
fc6c7f3bc7 VMM -- Interface cleanup 2018-03-21 09:21:40 +01:00
9bc1abceff VMM -- Touch and set page in one operation 2018-03-20 14:11:22 +01:00
df0df93da7 Don't put multiboot data in page stack 2018-03-20 14:11:22 +01:00
36c517dd82 Use a direct address for P4 rather than a pointer 2018-03-20 14:11:22 +01:00
8711fee390 Interface cleanup 2018-03-20 14:11:22 +01:00
9a479b1132 Add a PAGE_GLOBAL flag for kernel pages 2018-03-20 14:11:22 +01:00
3a4136c225 PMM -- calloc function for getting cleared pages 2018-03-20 14:11:22 +01:00
5dc4e27392 Map all free memory pages and add to page stack 2018-03-20 14:11:22 +01:00
8ac8bc7b6c VMM -- adding interface to header file 2018-03-20 14:11:22 +01:00
1a7852de4d PMM -- finishing up and changing names, types 2018-03-20 14:11:21 +01:00
80cc165957 Read memory map tags from multiboot 2018-03-20 14:11:21 +01:00
73a33c23a4 Clean up header file for interrupts 2018-03-20 14:11:21 +01:00
6f0a745adc Ability to bind handler functions to interrupts 2018-03-20 14:11:21 +01:00
c1c3842ace Functions for reading/writing some special registers 2018-03-20 14:11:21 +01:00
96d2ebd977 Collect the cpu specific stuff 2018-03-20 14:11:21 +01:00
6cbdb8f7de Remove magic numbers 2018-03-20 14:11:21 +01:00
127d6ca5a4 Interrupt cleanup 2018-03-20 14:11:21 +01:00
e4e891bb86 Clean up interface 2018-03-20 14:11:21 +01:00
79ca4681ff Make tests independent of structures in header files 2018-03-20 14:11:21 +01:00
49f7738be2 Parse multiboot information 2018-03-20 14:11:21 +01:00
9e2483d78e Halt-And-Catch-Fire macro 2018-03-20 14:11:21 +01:00
2da088f031 Clean up interface 2018-03-20 14:11:21 +01:00
0659cf73f6 Some more debug macros 2018-03-20 14:11:21 +01:00
572bee19cc Add ability to disable debug printing and gdb symbols 2018-03-20 14:11:21 +01:00
a9831c1038 A macro for debug printing 2018-03-20 14:11:21 +01:00
a652bbb05e Remove magic numbers 2018-03-20 14:11:21 +01:00
4f00d428bf Writing (debug output) to screen 2018-03-20 14:11:21 +01:00
954696728c Add memory copy and move functions. Required by gcc, and we'll also use
them soon
2018-03-20 14:11:21 +01:00
034a870ac7 Sending data (debug printing) to serial port 2018-03-20 14:11:21 +01:00
d05ddfeab4 Debug printing functions 2018-03-20 14:11:21 +01:00
81730fe96a Move ttest include file 2018-03-20 14:11:21 +01:00
b82405a4c4 Make BEFORE and AFTER definiton function-like 2018-03-20 14:11:21 +01:00
e29262e9aa Add AFTER() for cleanup 2018-03-20 14:11:21 +01:00
187d131ab0 Nicer test error output 2018-03-20 14:11:21 +01:00
512e1a988a Make test definitions more function like 2018-03-20 14:11:21 +01:00
826885df8a Make ttest compile under clang 2018-03-20 14:11:21 +01:00
ad74123882 Handle null pointers in string comparisons 2018-03-20 14:11:21 +01:00
cfa1a15076 Define TTEST when ttesting. Also allow multiple assertions per test 2018-03-20 14:11:21 +01:00
1b80c00658 Fix overflow bug when comparing strings 2018-03-20 14:11:21 +01:00
e50fbff2d1 Handle compilation errors of tests 2018-03-20 14:11:21 +01:00
cba19b62df More assertions and catching crashes 2018-03-20 14:11:21 +01:00
faaedb212d A simple testing framework 2018-03-20 14:11:21 +01:00
823560d3ae Simplify P2V and V2P macros - also makes them more useful 2018-03-20 14:10:03 +01:00
83f81b9a74 Cleaning up and commenting 2018-03-20 14:10:03 +01:00
663668ff93 Move the kernel to high memory 2018-03-20 14:10:03 +01:00
93d60294ba Move include files 2018-03-19 20:29:40 +01:00
5ddf0173c2 Remove magic numbers. Also, no code segment - not needed. 2018-03-19 20:29:40 +01:00
607266bfd3 Clean up interface 2018-03-19 20:29:40 +01:00
2451851b9f Remove Multiboot1 support 2018-03-19 20:29:40 +01:00
e2ecdb6154 Keep the multiboot header as simple as possible 2018-03-19 20:29:40 +01:00