2011-12-22 16:19:25 +01:00
|
|
|
/*
|
|
|
|
* \brief Implementation of the RAM session interface
|
|
|
|
* \author Christian Prochaska
|
|
|
|
* \date 2011-05-06
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2017-01-04 11:38:39 +01:00
|
|
|
* Copyright (C) 2011-2017 Genode Labs GmbH
|
2011-12-22 16:19:25 +01:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
2017-02-20 13:23:52 +01:00
|
|
|
* under the terms of the GNU Affero General Public License version 3.
|
2011-12-22 16:19:25 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
/* Genode includes */
|
|
|
|
#include <base/env.h>
|
|
|
|
#include <base/printf.h>
|
|
|
|
|
|
|
|
#include "ram_session_component.h"
|
|
|
|
|
|
|
|
using namespace Genode;
|
2016-05-17 16:13:23 +02:00
|
|
|
using namespace Gdb_monitor;
|
2011-12-22 16:19:25 +01:00
|
|
|
|
2017-01-04 11:38:39 +01:00
|
|
|
Ram_session_component::Ram_session_component(Env &env, const char *args,
|
2016-11-23 17:07:49 +01:00
|
|
|
Affinity const &affinity)
|
|
|
|
: _env(env),
|
|
|
|
_parent_ram_session(_env.session<Ram_session>(_id_space_element.id(), args, affinity))
|
2011-12-22 16:19:25 +01:00
|
|
|
{ }
|
|
|
|
|
|
|
|
|
|
|
|
Ram_session_component::~Ram_session_component()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
|
2014-06-19 16:37:31 +02:00
|
|
|
Ram_dataspace_capability Ram_session_component::alloc(size_t ds_size, Cache_attribute cached)
|
2011-12-22 16:19:25 +01:00
|
|
|
{
|
2014-06-19 16:37:31 +02:00
|
|
|
return _parent_ram_session.alloc(ds_size, cached);
|
2011-12-22 16:19:25 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Ram_session_component::free(Ram_dataspace_capability ds_cap)
|
|
|
|
{
|
|
|
|
_parent_ram_session.free(ds_cap);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-05-07 23:49:43 +02:00
|
|
|
size_t Ram_session_component::dataspace_size(Ram_dataspace_capability ds_cap) const
|
|
|
|
{
|
|
|
|
return _parent_ram_session.dataspace_size(ds_cap);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-12-22 16:19:25 +01:00
|
|
|
int Ram_session_component::ref_account(Ram_session_capability ram_session_cap)
|
|
|
|
{
|
|
|
|
return _parent_ram_session.ref_account(ram_session_cap);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int Ram_session_component::transfer_quota(Ram_session_capability ram_session_cap,
|
2017-05-08 01:33:40 +02:00
|
|
|
Ram_quota amount)
|
2011-12-22 16:19:25 +01:00
|
|
|
{
|
|
|
|
return _parent_ram_session.transfer_quota(ram_session_cap, amount);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-05-08 01:33:40 +02:00
|
|
|
Ram_quota Ram_session_component::ram_quota() const
|
2011-12-22 16:19:25 +01:00
|
|
|
{
|
2017-05-08 01:33:40 +02:00
|
|
|
return _parent_ram_session.ram_quota();
|
2011-12-22 16:19:25 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-05-08 01:33:40 +02:00
|
|
|
Ram_quota Ram_session_component::used_ram() const
|
2011-12-22 16:19:25 +01:00
|
|
|
{
|
2017-05-08 01:33:40 +02:00
|
|
|
return _parent_ram_session.used_ram();
|
2011-12-22 16:19:25 +01:00
|
|
|
}
|
|
|
|
|