mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
parent
15d1beca1b
commit
9db4293d7a
@ -326,8 +326,6 @@ static int vmmr0_gmm_free_pages(GMMFREEPAGESREQ &request)
|
||||
|
||||
GMMFREEPAGEDESC &page = request.aPages[i];
|
||||
|
||||
Sup::Gmm::Pages one_page { 1 };
|
||||
|
||||
using Vmm_addr = Sup::Gmm::Vmm_addr;
|
||||
using Page_id = Sup::Gmm::Page_id;
|
||||
|
||||
@ -335,7 +333,7 @@ static int vmmr0_gmm_free_pages(GMMFREEPAGESREQ &request)
|
||||
|
||||
Vmm_addr const vmm_addr = sup_drv->gmm().vmm_addr(page_id);
|
||||
|
||||
sup_drv->gmm().free(vmm_addr, one_page);
|
||||
sup_drv->gmm().free(vmm_addr);
|
||||
}
|
||||
|
||||
return VINF_SUCCESS;
|
||||
@ -700,7 +698,12 @@ static void ioctl(SUPGETPAGINGMODE &request)
|
||||
|
||||
static void ioctl(SUPPAGEFREE &request)
|
||||
{
|
||||
warning("SUPPAGEFREE called");
|
||||
using Vmm_addr = Sup::Gmm::Vmm_addr;
|
||||
|
||||
Vmm_addr const vmm_addr { (addr_t)request.u.In.pvR3 };
|
||||
|
||||
sup_drv->gmm().free(vmm_addr);
|
||||
|
||||
request.Hdr.rc = VINF_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -121,9 +121,9 @@ Sup::Gmm::Vmm_addr Sup::Gmm::alloc_from_reservation(Pages pages)
|
||||
}
|
||||
|
||||
|
||||
void Sup::Gmm::free(Vmm_addr addr, Pages pages)
|
||||
void Sup::Gmm::free(Vmm_addr addr)
|
||||
{
|
||||
_alloc.free((void *)(addr.value - _map.base.value), 1);
|
||||
_alloc.free((void *)(addr.value - _map.base.value));
|
||||
}
|
||||
|
||||
|
||||
|
@ -176,7 +176,7 @@ class Sup::Gmm
|
||||
/**
|
||||
* Free pages in pool
|
||||
*/
|
||||
void free(Vmm_addr, Pages);
|
||||
void free(Vmm_addr);
|
||||
|
||||
/**
|
||||
* Get page ID for VMM address inside linear area
|
||||
|
Loading…
x
Reference in New Issue
Block a user