VMM -- Interface cleanup

This commit is contained in:
2018-03-21 09:16:19 +01:00
parent 4011b5f12f
commit fc6c7f3bc7
4 changed files with 50 additions and 61 deletions

View File

@@ -21,29 +21,7 @@ static int page_exists(uint64_t P4, uint64_t addr)
return 0;
}
uint64_t vmm_get_page(uint64_t P4, uint64_t addr)
{
if(page_exists(P4, addr))
{
return P1E;
}
return -1;
}
int vmm_set_page(uint64_t P4, uint64_t addr, uint64_t page, uint16_t flags, int touch)
{
if(!page_exists(P4, addr))
{
if(!touch)
return -1;
touch_page(P4, addr, flags);
}
P1E = page | flags;
return 0;
}
int touch_page(uint64_t P4, uint64_t addr, uint16_t flags)
static int touch_page(uint64_t P4, uint64_t addr, uint16_t flags)
{
if(!P4) return -1;
@@ -62,7 +40,28 @@ int touch_page(uint64_t P4, uint64_t addr, uint16_t flags)
return 0;
}
void free_page(uint64_t P4, uint64_t addr, int free)
uint64_t vmm_get_page(uint64_t P4, uint64_t addr)
{
if(page_exists(P4, addr))
{
return P1E;
}
return -1;
}
int vmm_set_page(uint64_t P4, uint64_t addr, uint64_t page, uint16_t flags)
{
if(!page_exists(P4, addr))
{
if(touch_page(P4, addr, flags))
return -1;
}
P1E = page | flags;
return 0;
}
void vmm_clear_page(uint64_t P4, uint64_t addr, int free)
{
if(!page_exists(P4, addr))
return;