Closed ecomaikgolf closed 2 years ago
This code gives a page fault CPU exception without the Page Table Manager Activated
//asm("mov %0, %%cr3" : : "r"(page_table.get_PGDT()));
uint16_t *a = (uint16_t *)UINT64_MAX;
*a = 0x1231;
If we remove the code everything works
//asm("mov %0, %%cr3" : : "r"(page_table.get_PGDT()));
//uint16_t *a = (uint16_t *)UINT64_MAX;
//*a = 0x1231;
If we activate the code and the Page Table Manager, and map the address we don't get the page fault
page_table.map(UINT64_MAX, fbbase); //when we request the UINT64_MAX virtual address, access fbbase physical addr (in range)
asm("mov %0, %%cr3" : : "r"(page_table.get_PGDT()));
uint16_t *a = (uint16_t *)UINT64_MAX;
*a = 0x1231;
Already implemented, just a milestone issue