void hppa_ipi_halt(void) { /* Turn off interrupts and halt CPU. */ SCHED_ASSERT_UNLOCKED(); hppa_intr_disable(); curcpu()->ci_flags &= ~CPUF_RUNNING; for (;;) ; }
void alpha_ipi_halt(struct cpu_info *ci, struct trapframe *framep) { SCHED_ASSERT_UNLOCKED(); fpusave_cpu(ci, 1); (void)splhigh(); cpu_halt(); /* NOTREACHED */ }
/* * XXX This is a slight hack to get newly-formed processes to * XXX acquire the kernel lock as soon as they run. */ void proc_trampoline_mp(void) { struct proc *p; p = curproc; SCHED_ASSERT_UNLOCKED(); KERNEL_PROC_LOCK(p); }
void x86_64_ipi_halt(struct cpu_info *ci) { SCHED_ASSERT_UNLOCKED(); KASSERT(!__mp_lock_held(&kernel_lock)); fpusave_cpu(ci, 1); disable_intr(); lapic_disable(); wbinvd(); ci->ci_flags &= ~CPUF_RUNNING; wbinvd(); for(;;) { __asm volatile("hlt"); } }