1 /*
2  * (c) 2010 Alexander Warg <warg@os.inf.tu-dresden.de>
3  *     economic rights: Technische Universität Dresden (Germany)
4  *
5  * This file is part of TUD:OS and distributed under the terms of the
6  * GNU General Public License 2.
7  * Please see the COPYING-GPL-2 file for details.
8  */
9 #include "remote_mem.h"
10 
11 #include <l4/re/env>
12 #include <l4/re/rm>
13 #include <l4/re/error_helper>
14 
15   void
set_stack(L4Re::Util::Ref_cap<L4Re::Dataspace>::Cap const & ds,unsigned size)16 Stack::set_stack(L4Re::Util::Ref_cap<L4Re::Dataspace>::Cap const &ds, unsigned size)
17 {
18   L4Re::chksys(L4Re::Env::env()->rm()->attach(&_vma, size,
19                                               L4Re::Rm::F::Search_addr | L4Re::Rm::F::RW,
20                                               L4::Ipc::make_cap_rw(ds.get()),
21                                               0),
22                "attaching stack vma");
23   _stack_ds = ds;
24   set_local_top((char*)(_vma.get() + size));
25 }
26 
27