base: use 'Ram_allocator' as stack-area back end

The 'Stack_area_ram_session' is now a 'Stack_area_ram_allocator', which
simplifies the code and remove a dependency from the 'Ram_session'
interface, which we want to remove after all.

Issue #2407
This commit is contained in:
Norman Feske
2017-05-11 19:39:46 +02:00
committed by Christian Helmuth
parent d31642e8be
commit 5a3a1c704b
9 changed files with 32 additions and 66 deletions

View File

@ -78,7 +78,7 @@ class Stack_area_region_map : public Genode::Region_map
};
struct Stack_area_ram_session : Genode::Ram_session
struct Stack_area_ram_allocator : Genode::Ram_allocator
{
Genode::Ram_dataspace_capability alloc(Genode::size_t size,
Genode::Cache_attribute) override {
@ -87,14 +87,6 @@ struct Stack_area_ram_session : Genode::Ram_session
void free(Genode::Ram_dataspace_capability) override { }
Genode::size_t dataspace_size(Genode::Ram_dataspace_capability) const override { return 0; }
void ref_account(Genode::Ram_session_capability) override { }
void transfer_quota(Genode::Ram_session_capability, Genode::Ram_quota) override { }
Genode::Ram_quota ram_quota() const override { return { 0 }; }
Genode::Ram_quota used_ram() const override { return { 0 }; }
};
@ -103,16 +95,16 @@ struct Stack_area_ram_session : Genode::Ram_session
*/
namespace Genode {
Region_map *env_stack_area_region_map;
Ram_session *env_stack_area_ram_session;
Region_map *env_stack_area_region_map;
Ram_allocator *env_stack_area_ram_allocator;
void init_stack_area()
{
static Stack_area_region_map rm_inst;
env_stack_area_region_map = &rm_inst;
static Stack_area_ram_session ram_inst;
env_stack_area_ram_session = &ram_inst;
static Stack_area_ram_allocator ram_inst;
env_stack_area_ram_allocator = &ram_inst;
}
}