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)16Stack::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