diff options
author | jhb <jhb@FreeBSD.org> | 2005-09-15 19:02:01 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-09-15 19:02:01 +0000 |
commit | 4fbd998dffe50e8632d7713e024a655da034de2f (patch) | |
tree | 6b40be3302d2268566b2db4274bcd7cb835e5235 /sys | |
parent | 3d19005d33ac59832be65b17d5419bc9e80ab156 (diff) | |
download | FreeBSD-src-4fbd998dffe50e8632d7713e024a655da034de2f.zip FreeBSD-src-4fbd998dffe50e8632d7713e024a655da034de2f.tar.gz |
- Adjust a comment, we do program the performance counter LVT entry now
if hwpmc(4) is included.
- Don't recursively panic if we are unable to send an IPI, just bail and
hope for the best.
MFC after: 1 week
Diffstat (limited to 'sys')
-rw-r--r-- | sys/i386/i386/local_apic.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/i386/i386/local_apic.c b/sys/i386/i386/local_apic.c index df4d1de..1e0132c 100644 --- a/sys/i386/i386/local_apic.c +++ b/sys/i386/i386/local_apic.c @@ -324,7 +324,7 @@ lapic_setup(void) lapic_timer_enable_intr(); } - /* XXX: Performance counter, error, and thermal LVTs */ + /* XXX: Error and thermal LVTs */ intr_restore(eflags); } @@ -928,8 +928,12 @@ lapic_ipi_vectored(u_int vector, int dest) } /* Wait for an earlier IPI to finish. */ - if (!lapic_ipi_wait(BEFORE_SPIN)) - panic("APIC: Previous IPI is stuck"); + if (!lapic_ipi_wait(BEFORE_SPIN)) { + if (panicstr != NULL) + return; + else + panic("APIC: Previous IPI is stuck"); + } lapic_ipi_raw(icrlo, destfield); |