152 Commits

Author SHA1 Message Date
d54a206f82 VMM - free_page returns P1 to PMM if empty 2018-03-20 14:11:22 +01:00
46e27fb817 VMM - free_page deos not unset P2 entry if P1 is not empty 2018-03-20 14:11:22 +01:00
992930d293 VMM - free_page deos not unset P2 entry if not asked to 2018-03-20 14:11:22 +01:00
3134a1d6ad VMM - free_page unsets P2 entry if P1 is empty 2018-03-20 14:11:22 +01:00
e62c167494 VMM -- refactor page table setup in tests 2018-03-20 14:11:22 +01:00
063c065d2f VMM - free_page unsets page 2018-03-20 14:11:22 +01:00
bbd220a395 VMM -- test refactoring 2018-03-20 14:11:22 +01:00
f78500d603 PMM -- Make sure stuff works even with V2P and P2V 2018-03-20 14:11:22 +01:00
acf9a43980 VMM - touch_page fails if out of pages 2018-03-20 14:11:22 +01:00
59ffd9d5f5 VMM - touch_page sets flags 2018-03-20 14:11:22 +01:00
86d8aea9ea VMM - touch_page adds P2 and P1 2018-03-20 14:11:22 +01:00
1d4b689215 VMM - touch_page adds P3 2018-03-20 14:11:22 +01:00
28c8afe3c5 VMM - set_page with tests 2018-03-20 14:11:21 +01:00
cd7ed38a40 VMM -- get_page should include flags 2018-03-20 14:11:21 +01:00
57482136ae VMM - get_page fails if PTE not present 2018-03-20 14:11:21 +01:00
d32e93b72b VMM - get_page works for different address 2018-03-20 14:11:21 +01:00
1ad156902a VMM - get_page ignores flags -- also restructuring - bad Thomas! 2018-03-20 14:11:21 +01:00
1b928b3c97 VMM - get_page returns correct address 2018-03-20 14:11:21 +01:00
1a7852de4d PMM -- finishing up and changing names, types 2018-03-20 14:11:21 +01:00
28916257f1 PMM -- Fix type for pointer to next block 2018-03-20 14:11:21 +01:00
82fbafc38e PMM -- Convert between virtual and physical address 2018-03-20 14:11:21 +01:00
1daf8ed47b PMM - alloc two pages 2018-03-20 14:11:21 +01:00
e7bdea771b PMM - alloc zero after all free pages 2018-03-20 14:11:21 +01:00
9b930ae5d3 PMM - alloc return 0 if no free pages 2018-03-20 14:11:21 +01:00
776fd87862 PMM - alloc returns freed page 2018-03-20 14:11:21 +01:00
80cc165957 Read memory map tags from multiboot 2018-03-20 14:11:21 +01:00
0b3648de7c Chapter 8: Exceptions - COMPLETE 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
b801c7cf3c Make tests unassuming 2018-03-20 14:11:21 +01:00
86808bce0d Breakpoint in int_handler. Function for checking fault in gdb 2018-03-20 14:11:21 +01:00
61bc1221bf Make python script py3 compatible 2018-03-20 14:11:21 +01:00
83e204e52e Change the way python generates .o files via .S 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
cbcc67fc31 Quick and dirty IDT setup 2018-03-20 14:11:21 +01:00
25ef5f4688 Chapter 7: Multiboot Data - COMPLETE 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
9dbbc7013c Use debug macros 2018-03-20 14:11:21 +01:00
497bdef9f4 Debug print some of the multiboot data 2018-03-20 14:11:21 +01:00
49f7738be2 Parse multiboot information 2018-03-20 14:11:21 +01:00
d0b946f327 Chapter 6: Debug Output - COMPLETE 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
e6d046d593 A bit of cleanup in vga functions 2018-03-20 14:11:21 +01:00
15bbfd6e6a A real memmove function 2018-03-20 14:11:21 +01:00
042f61bdb3 Add padding to field width (right adjust) 2018-03-20 14:11:21 +01:00