diff options
author | peter <peter@FreeBSD.org> | 2004-03-08 00:15:29 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-03-08 00:15:29 +0000 |
commit | 8726a719b864cd4e9d211ab507423cfa1d0cb632 (patch) | |
tree | 7df99cb24679c3d0a64fb32e5079ef9f5d73f788 /sys | |
parent | bf23ea37e6288cf0227dab4c910f8cde345cd140 (diff) | |
download | FreeBSD-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.c | 6 |
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); |