Hello everyone!
I have a question regarding paging.
The code bellow works on Virtual Box and QEMU , on real hardware in 32 bit mode, and on 2 real hardware supporting UEFI.
On me 3d piece of hardware, which boots via UEFI, the system tripple faults.
What have I done wrong?
C code paging driverC header paging driverI have the feeling it has something to do with line 107:
Code:
for(upointer_t valve = 0 ; valve < (0xFFFFF000/PAGE_GAP_SIZE) ; valve++){
map_memory(pagemaplevel4,(void*)(valve*PAGE_GAP_SIZE),(void*)(valve*PAGE_GAP_SIZE));
}
The thing is, if I replace the value of 0xFFFFF000 with the value I got from my memory driver, the system still does not like it.
The code for the memory driver is this:
C code memory driverCould someone please tell me what I did wrong?