VMM - set_page sets 2Mb pages

This commit is contained in:
2018-01-02 11:55:06 +01:00
parent f81e5cd8b0
commit 518eaf73c3
2 changed files with 20 additions and 0 deletions

View File

@@ -49,6 +49,17 @@ uintptr_t vmm_get_page(void *P4, uintptr_t addr)
int vmm_set_page(void *P4, uintptr_t addr, uintptr_t page, uint16_t flags)
{
if(flags & PAGE_HUGE)
{
if(!(P4
&& P4e(P4, addr).present
&& P3e(P4, addr).present
))
return -1;
P2e(P4, addr).value = page | flags;
return 0;
}
if(!page_exists(P4, addr))
return -1;