Ejemplo n.º 1
0
// During a system call, generate a specific processor trap -
// as if the user code's INT 0x30 instruction had caused it -
// and reflect the trap to the parent process as with other traps.
static void gcc_noreturn
systrap(trapframe *utf, int trapno, int err)
{
    utf->trapno = trapno;
    utf->err = err;
    proc_ret(utf, 0);
}
Ejemplo n.º 2
0
static void
do_ret(trapframe *tf, uint32_t cmd) {
  proc *curr = proc_cur();

  // cprintf("node %d return: home: %d\n", net_node, RRNODE(curr->home));
  // This is not this node's home
  if(RRNODE(curr->home) != net_node) {
    // cprintf("sys_ret: %p returning home to %d\n", curr, RRNODE(curr->home));
    // spinlock_release(&curr->lock);
    net_migrate(tf, RRNODE(curr->home), 0);
  }
  proc_ret(tf, 1);
}
Ejemplo n.º 3
0
  static void gcc_noreturn
do_ret(trapframe *tf)
{
  //cprintf("RET proc %x eip %x esp %x\n", proc_cur(), tf->eip, tf->esp);
  proc_ret(tf, 1);
}