Lines Matching defs:cpup
201 xc_init_cpu(struct cpu *cpup)
218 msg->xc_master = cpup->cpu_id;
219 xc_insert(&cpup->cpu_m.xc_free, msg);
220 } else if (cpu[c] != NULL && cpu[c] != cpup) {
225 * so need to check cpu[c] isn't cpup itself to avoid
235 msg->xc_master = cpup->cpu_id;
236 xc_insert(&cpup->cpu_m.xc_free, msg);
246 msg->xc_master = cpup->cpu_id;
247 xc_insert(&cpup->cpu_m.xc_free, msg);
255 xc_fini_cpu(struct cpu *cpup)
259 ASSERT((cpup->cpu_flags & CPU_READY) == 0);
260 ASSERT(cpup->cpu_m.xc_msgbox == NULL);
261 ASSERT(cpup->cpu_m.xc_work_cnt == 0);
263 while ((msg = xc_extract(&cpup->cpu_m.xc_free)) != NULL) {
272 xc_flush_cpu(struct cpu *cpup)
276 ASSERT((cpup->cpu_flags & CPU_READY) == 0);
284 pause_cpus(cpup, NULL);
288 if (cpup->cpu_m.xc_work_cnt == 0) {
294 if (!BT_TEST(xc_priority_set, cpup->cpu_id)) {
463 struct cpu *cpup;
494 cpup = cpu[c];
495 if (cpup == NULL || !(cpup->cpu_flags & CPU_READY))
523 cnt = xc_increment(&cpup->cpu_m);
524 xc_insert(&cpup->cpu_m.xc_msgbox, msg);
525 if (cpup != CPU) {
557 struct cpu *cpup;
563 cpup = cpu[c];
564 if (cpup == NULL || !(cpup->cpu_flags & CPU_READY))
585 if (cpup->cpu_m.xc_work_cnt > 0)
586 xc_decrement(&cpup->cpu_m);
605 cpup = cpu[c];
606 if (cpup == NULL || !(cpup->cpu_flags & CPU_READY) ||
607 cpup == CPU)
609 (void) xc_increment(&cpup->cpu_m);
613 (void) atomic_cas_ptr(&cpup->cpu_m.xc_msgbox,
614 cpup->cpu_m.xc_msgbox, cpup->cpu_m.xc_msgbox);