*
* App_thread functions for creating and preparing a new VCPU
*
- * (c) 2011-2012 Björn Döbel <doebel@os.inf.tu-dresden.de>,
+ * (c) 2011-2013 Björn Döbel <doebel@os.inf.tu-dresden.de>,
* economic rights: Technische Universität Dresden (Germany)
* This file is part of TUD:OS and distributed under the terms of the
* GNU General Public License 2.
+ _vcpu->r()->cx
+ _vcpu->r()->dx
+ _vcpu->r()->bp
-#if 0
- + _vcpu->r()->fs
- + _vcpu->r()->gs
-#endif
+ /*+ _vcpu->r()->fs
+ + _vcpu->r()->gs*/
;
}
*reinterpret_cast<l4_umword_t*>(local_addr) = utcb_remote;
void* tip_addr = am->prog_attach_ds(0, L4_PAGESIZE, ds, 0,
L4Re::Rm::Search_addr, "thread info page", local_addr);
+ DEBUG() << "Remote TIP address: " << tip_addr;
for (unsigned i = 0; i < threads.size(); ++i) {
threads[i]->setup_utcb_segdesc(reinterpret_cast<l4_addr_t>(tip_addr), 4);
enum { replica_gs_base = 0x58 };
l4_msgtag_t *tag = reinterpret_cast<l4_msgtag_t*>(&t->vcpu()->r()->ax);
- DEBUG() << "\033[34;1mGDT: words\033[0m = " << tag->words();
+ DEBUG() << BOLD_BLUE "GDT: words" << NOCOLOR << " = " << tag->words();
// 1 word -> query GDT start
if (tag->words() == 1) {