regs()->ip(ip);
regs()->sp(sp);
+ regs()->flags(EFLAGS_IF);
asm volatile
("mov %0, %%esp \t\n"
"iret \t\n"
if (this == current_thread())
switch_gdt_user_entries(this);
- tag = Kobject_iface::commit_result(0);
+ tag = Kobject_iface::commit_result((utcb->values[1] << 3) + Gdt::gdt_user_entry1 + 3);
return true;
}