2011-12-22 16:19:25 +01:00
|
|
|
/*
|
|
|
|
* \brief RM-session implementation
|
|
|
|
* \author Norman Feske
|
|
|
|
* \author Sebastian Sumpf
|
|
|
|
* \date 2009-10-02
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2013-01-10 21:44:47 +01:00
|
|
|
* Copyright (C) 2009-2013 Genode Labs GmbH
|
2011-12-22 16:19:25 +01:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
|
|
* under the terms of the GNU General Public License version 2.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* core includes */
|
|
|
|
#include <rm_session_component.h>
|
|
|
|
#include <nova_util.h>
|
|
|
|
|
|
|
|
using namespace Genode;
|
|
|
|
|
2013-02-27 15:58:58 +01:00
|
|
|
void Rm_client::unmap(addr_t core_local_base, addr_t, size_t size)
|
2011-12-22 16:19:25 +01:00
|
|
|
{
|
2013-02-27 15:58:58 +01:00
|
|
|
using namespace Nova;
|
2012-10-09 20:47:02 +02:00
|
|
|
|
2013-02-27 15:58:58 +01:00
|
|
|
Utcb * utcb = reinterpret_cast<Utcb *>(Genode::Thread_base::myself()->utcb());
|
2011-12-22 16:19:25 +01:00
|
|
|
|
2013-02-27 15:58:58 +01:00
|
|
|
unmap_local(utcb, trunc_page(core_local_base),
|
|
|
|
(round_page(core_local_base + size) -
|
|
|
|
trunc_page(core_local_base)) / get_page_size(), false);
|
2011-12-22 16:19:25 +01:00
|
|
|
}
|