Date: Thu, 28 Aug 2003 15:23:25 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Scott Ballantyne <sdb@ssr.com> Cc: freebsd-smp@freebsd.org Subject: Re: Unpredictable problems with APIC renumbering Message-ID: <XFMail.20030828152325.jhb@FreeBSD.org> In-Reply-To: <20030828162539.497.qmail@kimchee.ssr.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On 28-Aug-2003 Scott Ballantyne wrote: > John Baldwin <jhb@FreeBSD.org> writes: > >> > Is there a fix or work-a-round for this problem? >> >> It's not a problem you need to worry about and is common to many >> MP motherboards. >> > > It's odd that it only happens occasionally. The precise message is: > > > Programming 24 pins in IOAPIC #0 > IOAPIC #0 intpin 2 -> IRQ 0 > AP#1 (PHY #1) failed! > panic y/n? [y] > mp-lock = 0000001; cpuid=0; 1apicid=0 This is a different message and has nothing to do with the I/O APIC code. Try the attached patch. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ [-- Attachment #2 --] Index: mp_machdep.c =================================================================== RCS file: /usr/cvs/src/sys/i386/i386/mp_machdep.c,v retrieving revision 1.214 diff -u -r1.214 mp_machdep.c --- mp_machdep.c 12 Aug 2003 17:01:10 -0000 1.214 +++ mp_machdep.c 28 Aug 2003 16:44:51 -0000 @@ -2259,6 +2259,7 @@ int vector; int cpus; u_long icr_lo, icr_hi; + register_t eflags; POSTCODE(START_AP_POST); @@ -2277,6 +2278,7 @@ * bug), CPU waiting for STARTUP IPI. OR this INIT IPI might be * ignored. */ + eflags = intr_disable(); /* setup the address for the target AP */ icr_hi = lapic.icr_hi & ~APIC_ID_MASK; @@ -2332,6 +2334,7 @@ while (lapic.icr_lo & APIC_DELSTAT_MASK) /* spin */ ; u_sleep(200); /* wait ~200uS */ + intr_restore(eflags); /* wait for it to start */ set_apic_timer(5000000);/* == 5 seconds */help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030828152325.jhb>
