core: remove unmap from rm_client

The flush/unmap of memory is tied to an address space and not to a thread.
Move the handling from the Rm_client to the Adress_space class.

Issue #2209
This commit is contained in:
Alexander Boettcher
2017-08-14 11:32:07 +02:00
committed by Christian Helmuth
parent 6792456e4e
commit 430bde3636
47 changed files with 92 additions and 415 deletions

View File

@ -31,8 +31,6 @@ namespace Genode {
class Platform_thread;
class Address_space;
/*
* We hold all Platform_thread objects in a list in order to be able to
* reflect SIGCHLD as exception signals. When a SIGCHILD occurs, we
@ -179,8 +177,6 @@ namespace Genode {
*/
unsigned long long execution_time() const { return 0; }
Weak_ptr<Address_space> address_space() { return Weak_ptr<Address_space>(); }
unsigned long pager_object_badge() const { return 0; }
};
}

View File

@ -63,6 +63,8 @@ class Genode::Region_map_component : public Rpc_object<Region_map>,
Dataspace_capability dataspace() { return Dataspace_capability(); }
Rm_dataspace_component *dataspace_component() { return 0; }
void address_space(Platform_pd *) { }
};
@ -73,7 +75,6 @@ struct Genode::Rm_client : Pager_object, Rm_member
{
Rm_client(Cpu_session_capability, Thread_capability,
Region_map_component *rm, unsigned long badge,
Weak_ptr<Address_space> &address_space,
Affinity::Location location, Cpu_session::Name const&,
Session_label const&)
{ }