hw: free page tables (fix #1573)

This commit is contained in:
Stefan Kalkowski 2015-05-21 15:00:03 +02:00 committed by Christian Helmuth
parent 409ac1468e
commit b64f23d4c3
2 changed files with 10 additions and 10 deletions

View File

@ -89,6 +89,8 @@ class Hw::Address_space : public Genode::Address_space
*/ */
Address_space(Kernel::Pd* pd); Address_space(Kernel::Pd* pd);
~Address_space();
/** /**
* Insert memory mapping into translation table of the address space * Insert memory mapping into translation table of the address space
* *
@ -170,8 +172,6 @@ class Genode::Platform_pd : public Hw::Address_space,
*/ */
Platform_pd(Allocator * md_alloc, char const *label); Platform_pd(Allocator * md_alloc, char const *label);
~Platform_pd();
/** /**
* Bind thread 't' to protection domain * Bind thread 't' to protection domain
* *

View File

@ -96,6 +96,14 @@ Hw::Address_space::Address_space(Kernel::Pd * pd)
} }
Hw::Address_space::~Address_space()
{
flush(platform()->vm_start(), platform()->vm_size());
destroy(_cma(), _pslab);
destroy(_cma(), _tt);
}
/************************************* /*************************************
** Capability_space implementation ** ** Capability_space implementation **
*************************************/ *************************************/
@ -161,14 +169,6 @@ Platform_pd::Platform_pd(Allocator * md_alloc, char const *label)
} }
Platform_pd::~Platform_pd()
{
flush(platform()->vm_start(), platform()->vm_size());
/* TODO: destroy page slab and translation table!!! */
}
/************************************* /*************************************
** Core_platform_pd implementation ** ** Core_platform_pd implementation **
*************************************/ *************************************/