Lines Matching refs:cpu

70 #include <machine/cpu.h>
145 static void cpustop_handler_post(u_int cpu);
1094 int cpu;
1096 for (cpu = 1; cpu < mp_ncpus; cpu++) {
1097 pc = pcpu_find(cpu);
1100 kmem_free((vm_offset_t)bootstacks[cpu], kstack_pages *
1227 ipi_send_cpu(int cpu, u_int ipi)
1231 KASSERT(cpu_apic_ids[cpu] != -1, ("IPI to non-existent CPU %d", cpu));
1237 old_pending = cpu_ipi_pending[cpu];
1239 } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu],
1244 lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]);
1252 int cpu = PCPU_GET(cpuid);
1260 ipi_bitmap = atomic_readandclear_int(&cpu_ipi_pending[cpu]);
1263 (*ipi_preempt_counts[cpu])++;
1269 (*ipi_ast_counts[cpu])++;
1275 (*ipi_hardclock_counts[cpu])++;
1290 int cpu;
1300 while ((cpu = CPU_FFS(&cpus)) != 0) {
1301 cpu--;
1302 CPU_CLR(cpu, &cpus);
1303 CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi);
1304 ipi_send_cpu(cpu, ipi);
1312 ipi_cpu(int cpu, u_int ipi)
1321 CPU_SET_ATOMIC(cpu, &ipi_stop_nmi_pending);
1323 CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi);
1324 ipi_send_cpu(cpu, ipi);
1394 int cpu;
1397 cpu = PCPU_GET(cpuid);
1399 nmi_call_kdb(cpu, type, frame);
1402 savectx(&stoppcbs[cpu]);
1403 CPU_SET_ATOMIC(cpu, &stopped_cpus);
1410 cpustop_handler_post(cpu);
1420 u_int cpu;
1422 cpu = PCPU_GET(cpuid);
1424 savectx(&stoppcbs[cpu]);
1427 CPU_SET_ATOMIC(cpu, &stopped_cpus);
1430 while (!CPU_ISSET(cpu, &started_cpus))
1433 cpustop_handler_post(cpu);
1437 cpustop_handler_post(u_int cpu)
1440 CPU_CLR_ATOMIC(cpu, &started_cpus);
1441 CPU_CLR_ATOMIC(cpu, &stopped_cpus);
1453 if (cpu == 0 && cpustop_restartfunc != NULL) {
1466 u_int cpu;
1470 cpu = PCPU_GET(cpuid);
1471 if (savectx(&susppcbs[cpu]->sp_pcb)) {
1473 fpususpend(susppcbs[cpu]->sp_fpususpend);
1475 npxsuspend(susppcbs[cpu]->sp_fpususpend);
1494 CPU_SET_ATOMIC(cpu, &suspended_cpus);
1495 CPU_SET_ATOMIC(cpu, &resuming_cpus);
1506 fpuresume(susppcbs[cpu]->sp_fpususpend);
1508 npxresume(susppcbs[cpu]->sp_fpususpend);
1516 CPU_CLR_ATOMIC(cpu, &suspended_cpus);
1520 while (!CPU_ISSET(cpu, &toresume_cpus))
1544 CPU_CLR_ATOMIC(cpu, &resuming_cpus);
1545 CPU_CLR_ATOMIC(cpu, &suspended_cpus);
1546 CPU_CLR_ATOMIC(cpu, &toresume_cpus);
1608 snprintf(buf, sizeof(buf), "cpu%d:invltlb", i);
1610 snprintf(buf, sizeof(buf), "cpu%d:invlrng", i);
1612 snprintf(buf, sizeof(buf), "cpu%d:invlpg", i);
1614 snprintf(buf, sizeof(buf), "cpu%d:invlcache", i);
1616 snprintf(buf, sizeof(buf), "cpu%d:preempt", i);
1618 snprintf(buf, sizeof(buf), "cpu%d:ast", i);
1620 snprintf(buf, sizeof(buf), "cpu%d:rendezvous", i);
1622 snprintf(buf, sizeof(buf), "cpu%d:hardclock", i);
1661 int cpu;
1699 while ((cpu = CPU_FFS(&mask)) != 0) {
1700 cpu--;
1701 CPU_CLR(cpu, &mask);
1702 CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__,
1703 cpu, vector);
1704 ipi_send_cpu(cpu, vector);
1708 while ((cpu = CPU_FFS(&other_cpus)) != 0) {
1709 cpu--;
1710 CPU_CLR(cpu, &other_cpus);
1711 p_cpudone = &cpuid_to_pcpu[cpu]->pc_smp_tlb_done;