summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-03-08 00:15:29 +0000
committerpeter <peter@FreeBSD.org>2004-03-08 00:15:29 +0000
commit8726a719b864cd4e9d211ab507423cfa1d0cb632 (patch)
tree7df99cb24679c3d0a64fb32e5079ef9f5d73f788 /sys
parentbf23ea37e6288cf0227dab4c910f8cde345cd140 (diff)
downloadFreeBSD-src-8726a719b864cd4e9d211ab507423cfa1d0cb632.zip
FreeBSD-src-8726a719b864cd4e9d211ab507423cfa1d0cb632.tar.gz
MFi386: wait for local apic to become free before using it
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/local_apic.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/amd64/amd64/local_apic.c b/sys/amd64/amd64/local_apic.c
index 65d8c89..54efeea 100644
--- a/sys/amd64/amd64/local_apic.c
+++ b/sys/amd64/amd64/local_apic.c
@@ -691,8 +691,8 @@ lapic_ipi_raw(register_t icrlo, u_int dest)
intr_restore(eflags);
}
-#ifdef DETECT_DEADLOCK
#define BEFORE_SPIN 1000000
+#ifdef DETECT_DEADLOCK
#define AFTER_SPIN 1000
#endif
@@ -723,11 +723,9 @@ lapic_ipi_vectored(u_int vector, int dest)
destfield = dest;
}
-#ifdef DETECT_DEADLOCK
- /* Check for an earlier stuck IPI. */
+ /* Wait for an earlier IPI to finish. */
if (!lapic_ipi_wait(BEFORE_SPIN))
panic("APIC: Previous IPI is stuck");
-#endif
lapic_ipi_raw(icrlo, destfield);
OpenPOWER on IntegriCloud