Date: Fri, 25 Oct 2002 10:42:50 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Kristopher Borodiansky <kborodiansky@informationwave.net> Cc: smp@freebsd.org Subject: RE: Dual-Xeon Issue Message-ID: <XFMail.20021025104250.jhb@FreeBSD.org> In-Reply-To: <20021025095759.GA9140@dipole.informationwave.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On 25-Oct-2002 Kristopher Borodiansky wrote: > Greetings, > > Upon booting, the following error is displayed: > > AP #1 (PHY# 6) failed! > panic (y/n)? > > I've seen numerous posts on the issue, however all seemed to lack a solution. I've > tried disabling hyperthreading as per the suggestion of another user, but no dice. > > Any ideas? > > Regards, > > Kris Actually, just on a whim, can you 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: i386/mp_machdep.c =================================================================== RCS file: /usr/cvs/src/sys/i386/i386/mp_machdep.c,v retrieving revision 1.192 diff -u -r1.192 mp_machdep.c --- i386/mp_machdep.c 16 Oct 2002 08:57:14 -0000 1.192 +++ i386/mp_machdep.c 24 Oct 2002 14:49:42 -0000 @@ -2154,20 +2154,22 @@ lapic.icr_hi = icr_hi; /* do an INIT IPI: assert RESET */ - icr_lo = lapic.icr_lo & 0xfff00000; + icr_lo = lapic.icr_lo & APIC_ICRLO_RESV_MASK; lapic.icr_lo = icr_lo | 0x0000c500; /* wait for pending status end */ while (lapic.icr_lo & APIC_DELSTAT_MASK) /* spin */ ; +#if not_for_p4s /* do an INIT IPI: deassert RESET */ - lapic.icr_lo = icr_lo | 0x00008500; + lapic.icr_lo = icr_lo | 0x00028500; /* wait for pending status end */ u_sleep(10000); /* wait ~10mS */ while (lapic.icr_lo & APIC_DELSTAT_MASK) /* spin */ ; +#endif /* * next we do a STARTUP IPI: the previous INIT IPI might still be Index: i386/mpapic.c =================================================================== RCS file: /usr/cvs/src/sys/i386/i386/mpapic.c,v retrieving revision 1.60 diff -u -r1.60 mpapic.c --- i386/mpapic.c 21 Sep 2002 19:03:42 -0000 1.60 +++ i386/mpapic.c 24 Oct 2002 14:50:28 -0000 @@ -508,7 +508,7 @@ #endif /* DETECT_DEADLOCK */ /* build IRC_LOW */ - icr_lo = (lapic.icr_lo & APIC_RESV2_MASK) + icr_lo = (lapic.icr_lo & APIC_ICRLO_RESV_MASK) | dest_type | delivery_mode | vector; /* write APIC ICR */ @@ -574,7 +574,7 @@ lapic.icr_hi = icr_hi; /* build IRC_LOW */ - icr_lo = (lapic.icr_lo & APIC_RESV2_MASK) + icr_lo = (lapic.icr_lo & APIC_ICRLO_RESV_MASK) | APIC_DEST_DESTFLD | delivery_mode | vector; /* write APIC ICR */ Index: include/apic.h =================================================================== RCS file: /usr/cvs/src/sys/i386/include/apic.h,v retrieving revision 1.18 diff -u -r1.18 apic.h --- include/apic.h 20 Dec 2001 23:48:30 -0000 1.18 +++ include/apic.h 24 Oct 2002 14:48:24 -0000 @@ -305,6 +305,7 @@ #define APIC_RESV2_MASK 0xfff00000 +#define APIC_ICRLO_RESV_MASK (APIC_RESV1_MASK | APIC_RESV2_MASK) /* fields in ICR_HIGH */ #define APIC_ID_MASK 0x0f000000
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20021025104250.jhb>
