Skip site navigation (1)Skip section navigation (2)
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>