Lines Matching +full:wake +full:- +full:up
87 mmu_fault_status_area + (MMFSA_SIZE * CPU->cpu_id); in setup_trap_table()
109 processorid_t cpu_sid = cpup->cpu_seqid; in cpu_halt()
110 cpupart_t *cp = cpup->cpu_part; in cpu_halt()
112 volatile int *p = &cpup->cpu_disp->disp_nrunnable; in cpu_halt()
121 if (CPU->cpu_flags & CPU_OFFLINE) in cpu_halt()
140 cpup->cpu_disp_flags |= CPU_DISP_HALTED; in cpu_halt()
142 bitset_atomic_add(&cp->cp_haltset, cpu_sid); in cpu_halt()
153 cpup->cpu_disp_flags &= ~CPU_DISP_HALTED; in cpu_halt()
154 bitset_atomic_del(&cp->cp_haltset, cpu_sid); in cpu_halt()
172 * Also, if the offlined CPU has been brought back on-line, then in cpu_halt()
186 * will filter spurious interrupts that wake us up, but don't in cpu_halt()
195 ((hset_update && bitset_in_set(&cp->cp_haltset, cpu_sid)) || in cpu_halt()
196 (!hset_update && (CPU->cpu_flags & CPU_OFFLINE)))) { in cpu_halt()
213 cpup->cpu_disp_flags &= ~CPU_DISP_HALTED; in cpu_halt()
214 bitset_atomic_del(&cp->cp_haltset, cpu_sid); in cpu_halt()
219 * If "cpu" is halted, then wake it up clearing its halted bit in advance.
221 * be woken up so that they can steal the thread we placed on this CPU.
231 cp = cpu->cpu_part; in cpu_wakeup()
232 cpu_sid = cpu->cpu_seqid; in cpu_wakeup()
233 if (bitset_in_set(&cp->cp_haltset, cpu_sid)) { in cpu_wakeup()
238 bitset_atomic_del(&cp->cp_haltset, cpu_sid); in cpu_wakeup()
247 poke_cpu(cpu->cpu_id); in cpu_wakeup()
254 if (cpu->cpu_thread == cpu->cpu_idle_thread || in cpu_wakeup()
255 cpu->cpu_disp_flags & CPU_DISP_DONTSTEAL) in cpu_wakeup()
260 * No need to wake up other CPUs if this is for a bound thread. in cpu_wakeup()
271 cpu_found = bitset_find(&cp->cp_haltset); in cpu_wakeup()
272 if (cpu_found == (uint_t)-1) in cpu_wakeup()
274 } while (bitset_atomic_test_and_del(&cp->cp_haltset, cpu_found) < 0); in cpu_wakeup()
276 if (cpu_found != CPU->cpu_seqid) in cpu_wakeup()
277 poke_cpu(cpu_seq[cpu_found]->cpu_id); in cpu_wakeup()
297 return (-1); in ndata_alloc_mmfsa()
336 /* set per-platform constants for mutex_backoff */ in startup_platform()
349 * This function sets up hypervisor traptrace buffer
361 ctlp->d.hvaddr_base = (cpuid == bootcpuid) ? htrap_tr0 : in mach_htraptrace_setup()
363 if (ctlp->d.hvaddr_base == NULL) { in mach_htraptrace_setup()
364 ctlp->d.hlimit = 0; in mach_htraptrace_setup()
365 ctlp->d.hpaddr_base = 0; in mach_htraptrace_setup()
369 ctlp->d.hlimit = HTRAP_TSIZE; in mach_htraptrace_setup()
370 ctlp->d.hpaddr_base = va_to_pa(ctlp->d.hvaddr_base); in mach_htraptrace_setup()
389 if ((ctlp->d.hvaddr_base != NULL) && in mach_htraptrace_configure()
390 ((ctlp->d.hvaddr_base != htrap_tr0) || in mach_htraptrace_configure()
400 ret = hv_ttrace_buf_conf(ctlp->d.hpaddr_base, in mach_htraptrace_configure()
401 ctlp->d.hlimit / in mach_htraptrace_configure()
412 if (ctlp->d.hvaddr_base == htrap_tr0) in mach_htraptrace_configure()
426 ctlp->d.hvaddr_base = NULL; in mach_htraptrace_configure()
427 ctlp->d.hlimit = 0; in mach_htraptrace_configure()
428 ctlp->d.hpaddr_base = 0; in mach_htraptrace_configure()
437 if (ctlp->d.hvaddr_base == htrap_tr0) in mach_htraptrace_configure()
439 ctlp->d.hvaddr_base = NULL; in mach_htraptrace_configure()
440 ctlp->d.hlimit = 0; in mach_htraptrace_configure()
441 ctlp->d.hpaddr_base = 0; in mach_htraptrace_configure()
452 * This function cleans up the hypervisor traptrace buffer
463 httrace_buf_va = ctlp->d.hvaddr_base; in mach_htraptrace_cleanup()
469 ctlp->d.hvaddr_base = NULL; in mach_htraptrace_cleanup()
470 ctlp->d.hlimit = 0; in mach_htraptrace_cleanup()
471 ctlp->d.hpaddr_base = 0; in mach_htraptrace_cleanup()
482 * We don't want to load these LDOMs-specific in load_mach_drivers()
484 * we must be able to run on non-LDOMs firmware. in load_mach_drivers()
492 if (modload("misc", "ds") == -1) in load_mach_drivers()
498 if (modload("misc", "fault_iso") == -1) in load_mach_drivers()
501 if (modload("misc", "platsvc") == -1) in load_mach_drivers()
504 if (domaining_enabled() && modload("misc", "dr_cpu") == -1) in load_mach_drivers()
507 if (modload("misc", "dr_io") == -1) in load_mach_drivers()
510 if (modload("misc", "dr_mem") == -1) in load_mach_drivers()
538 * increases the space consumed in the per-process sfmmu structure. in set_platform_defaults()