Lines Matching refs:cpup
199 xc_init_cpu(struct cpu *cpup)
216 msg->xc_master = cpup->cpu_id;
217 xc_insert(&cpup->cpu_m.xc_free, msg);
218 } else if (cpu[c] != NULL && cpu[c] != cpup) {
223 * so need to check cpu[c] isn't cpup itself to avoid
233 msg->xc_master = cpup->cpu_id;
234 xc_insert(&cpup->cpu_m.xc_free, msg);
244 msg->xc_master = cpup->cpu_id;
245 xc_insert(&cpup->cpu_m.xc_free, msg);
253 xc_fini_cpu(struct cpu *cpup)
257 ASSERT((cpup->cpu_flags & CPU_READY) == 0);
258 ASSERT(cpup->cpu_m.xc_msgbox == NULL);
259 ASSERT(cpup->cpu_m.xc_work_cnt == 0);
261 while ((msg = xc_extract(&cpup->cpu_m.xc_free)) != NULL) {
270 xc_flush_cpu(struct cpu *cpup)
274 ASSERT((cpup->cpu_flags & CPU_READY) == 0);
282 pause_cpus(cpup);
286 if (cpup->cpu_m.xc_work_cnt == 0) {
292 if (!BT_TEST(xc_priority_set, cpup->cpu_id)) {
461 struct cpu *cpup;
492 cpup = cpu[c];
493 if (cpup == NULL || !(cpup->cpu_flags & CPU_READY))
521 cnt = xc_increment(&cpup->cpu_m);
522 xc_insert(&cpup->cpu_m.xc_msgbox, msg);
523 if (cpup != CPU) {
555 struct cpu *cpup;
561 cpup = cpu[c];
562 if (cpup == NULL || !(cpup->cpu_flags & CPU_READY))
583 if (cpup->cpu_m.xc_work_cnt > 0)
584 xc_decrement(&cpup->cpu_m);
603 cpup = cpu[c];
604 if (cpup == NULL || !(cpup->cpu_flags & CPU_READY) ||
605 cpup == CPU)
607 (void) xc_increment(&cpup->cpu_m);
611 (void) casptr(&cpup->cpu_m.xc_msgbox,
612 cpup->cpu_m.xc_msgbox, cpup->cpu_m.xc_msgbox);