Changeset View
Changeset View
Standalone View
Standalone View
sys/x86/x86/mp_x86.c
| Show First 20 Lines • Show All 1,699 Lines • ▼ Show 20 Lines | |||||
| cpuoff_handler(void) | cpuoff_handler(void) | ||||
| { | { | ||||
| u_int cpu; | u_int cpu; | ||||
| cpu = PCPU_GET(cpuid); | cpu = PCPU_GET(cpuid); | ||||
| /* Time to go catatonic. A reset will be required to leave. */ | /* Time to go catatonic. A reset will be required to leave. */ | ||||
| disable_intr(); | disable_intr(); | ||||
| lapic_disable(); | |||||
| CPU_SET_ATOMIC(cpu, &suspended_cpus); | CPU_SET_ATOMIC(cpu, &suspended_cpus); | ||||
| /* | /* | ||||
| * There technically should be no need for the `while` here, since it | * There technically should be no need for the `while` here, since it | ||||
| * cannot be interrupted (interrupts are disabled). Be safe anyway. | * cannot be interrupted (interrupts are disabled). Be safe anyway. | ||||
| * Any interrupt at this point will likely be fatal, as the page tables | * Any interrupt at this point will likely be fatal, as the page tables | ||||
| * are likely going away shortly. | * are likely going away shortly. | ||||
| */ | */ | ||||
| ▲ Show 20 Lines • Show All 61 Lines • Show Last 20 Lines | |||||