Date: Thu, 13 Jan 2011 17:00:22 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/amd64 apic_vector.S src/sys/i386/i386 apic_vector.s src/sys/x86/x86 local_apic.c Message-ID: <201101131700.p0DH0iKc018942@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2011-01-13 17:00:22 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 apic_vector.S
sys/i386/i386 apic_vector.s
sys/x86/x86 local_apic.c
Log:
SVN rev 217360 on 2011-01-13 17:00:22Z by jhb
If an interrupt on an I/O APIC is moved to a different CPU after it has
started to execute, it seems that the corresponding ISR bit in the "old"
local APIC can be cleared. This causes the local APIC interrupt routine
to fail to find an interrupt to service. Rather than panic'ing in this
case, simply return from the interrupt without sending an EOI to the
local APIC. If there are any other pending interrupts in other ISR
registers, the local APIC will assert a new interrupt.
Tested by: steve
Revision Changes Path
1.119 +4 -6 src/sys/amd64/amd64/apic_vector.S
1.119 +4 -6 src/sys/i386/i386/apic_vector.s
1.19 +0 -2 src/sys/x86/x86/local_apic.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101131700.p0DH0iKc018942>
