summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/smp.h
diff options
context:
space:
mode:
authorups <ups@FreeBSD.org>2004-12-07 20:15:01 +0000
committerups <ups@FreeBSD.org>2004-12-07 20:15:01 +0000
commit0e900aeba092127fe706b8a59228a711b7bd683b (patch)
treea75fb9b20179ad2db0eb2556245efafc59a0bd82 /sys/i386/include/smp.h
parente2f469b728b3ca90ab10d2794390412466d0c089 (diff)
downloadFreeBSD-src-0e900aeba092127fe706b8a59228a711b7bd683b.zip
FreeBSD-src-0e900aeba092127fe706b8a59228a711b7bd683b.tar.gz
Avoid more than two pending IPI interrupt vectors per local APIC
as this may cause deadlocks. This should fix kern/72123. Discussed with: jhb Tested by: Nik Azim Azam, Andy Farkas, Flack Man, Aykut KARA Izzet BESKARDES, Jens Binnewies, Karl Keusgen Approved by: sam (mentor)
Diffstat (limited to 'sys/i386/include/smp.h')
-rw-r--r--sys/i386/include/smp.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/i386/include/smp.h b/sys/i386/include/smp.h
index fe87fdf..eb6a635 100644
--- a/sys/i386/include/smp.h
+++ b/sys/i386/include/smp.h
@@ -55,9 +55,7 @@ inthand_t
IDTVEC(invltlb), /* TLB shootdowns - global */
IDTVEC(invlpg), /* TLB shootdowns - 1 page */
IDTVEC(invlrng), /* TLB shootdowns - page range */
- IDTVEC(hardclock), /* Forward hardclock() */
- IDTVEC(statclock), /* Forward statclock() */
- IDTVEC(cpuast), /* Additional software trap on other cpu */
+ IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */
IDTVEC(cpustop), /* CPU stops & waits to be restarted */
IDTVEC(rendezvous), /* handle CPU rendezvous */
IDTVEC(lazypmap); /* handle lazy pmap release */
@@ -70,9 +68,8 @@ void ipi_all(u_int ipi);
void ipi_all_but_self(u_int ipi);
void ipi_self(u_int ipi);
void forward_statclock(void);
-void forwarded_statclock(struct clockframe frame);
void forward_hardclock(void);
-void forwarded_hardclock(struct clockframe frame);
+void ipi_bitmap_handler(struct clockframe frame);
u_int mp_bootaddress(u_int);
int mp_grab_cpu_hlt(void);
void mp_topology(void);
OpenPOWER on IntegriCloud