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>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format --_=XFMail.1.5.4.FreeBSD:20030828124535:861=_ Content-Type: text/plain; charset=us-ascii 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/ --_=XFMail.1.5.4.FreeBSD:20030828124535:861=_ Content-Disposition: attachment; filename="mp.patch" Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii; name=mp.patch; SizeOnDisk=862 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 */ --_=XFMail.1.5.4.FreeBSD:20030828124535:861=_-- End of MIME message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030828152325.jhb>