Changeset View
Changeset View
Standalone View
Standalone View
head/sys/amd64/amd64/apic_vector.S
Show First 20 Lines • Show All 200 Lines • ▼ Show 20 Lines | |||||
* Executed by a CPU when it receives an IPI_SUSPEND from another CPU. | * Executed by a CPU when it receives an IPI_SUSPEND from another CPU. | ||||
*/ | */ | ||||
INTR_HANDLER cpususpend | INTR_HANDLER cpususpend | ||||
call cpususpend_handler | call cpususpend_handler | ||||
call as_lapic_eoi | call as_lapic_eoi | ||||
jmp doreti | jmp doreti | ||||
/* | /* | ||||
* Executed by a CPU when it receives an IPI_SWI. | |||||
*/ | |||||
INTR_HANDLER ipi_swi | |||||
call as_lapic_eoi | |||||
FAKE_MCOUNT(TF_RIP(%rsp)) | |||||
call ipi_swi_handler | |||||
MEXITCOUNT | |||||
jmp doreti | |||||
/* | |||||
* Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU. | * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU. | ||||
* | * | ||||
* - Calls the generic rendezvous action function. | * - Calls the generic rendezvous action function. | ||||
*/ | */ | ||||
INTR_HANDLER rendezvous | INTR_HANDLER rendezvous | ||||
#ifdef COUNT_IPIS | #ifdef COUNT_IPIS | ||||
movl PCPU(CPUID), %eax | movl PCPU(CPUID), %eax | ||||
movq ipi_rendezvous_counts(,%rax,8), %rax | movq ipi_rendezvous_counts(,%rax,8), %rax | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |