diff options
author | jkim <jkim@FreeBSD.org> | 2012-02-07 23:24:29 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2012-02-07 23:24:29 +0000 |
commit | bfd149db909fffedd3f6345ad716d401ff63c434 (patch) | |
tree | 8df8759d69451679c07970cbf2368f16207c96a3 /sys/amd64 | |
parent | 1fecd2eae2c3cb068c4199088b928b88e895cd44 (diff) | |
download | FreeBSD-src-bfd149db909fffedd3f6345ad716d401ff63c434.zip FreeBSD-src-bfd149db909fffedd3f6345ad716d401ff63c434.tar.gz |
Do not EOI local APIC too early. Just do doreti normally after resuming.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/apic_vector.S | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index 96c778d..6465247 100644 --- a/sys/amd64/amd64/apic_vector.S +++ b/sys/amd64/amd64/apic_vector.S @@ -300,13 +300,10 @@ IDTVEC(cpustop) IDTVEC(cpususpend) PUSH_FRAME + call cpususpend_handler movq lapic, %rax movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ - - call cpususpend_handler - - POP_FRAME - jmp doreti_iret + jmp doreti /* * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU. |