From owner-freebsd-smp Thu Dec 5 13:17:39 2002 Delivered-To: freebsd-smp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7C0CA37B401 for ; Thu, 5 Dec 2002 13:17:38 -0800 (PST) Received: from mail.speakeasy.net (mail11.speakeasy.net [216.254.0.211]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2B0F43E9C for ; Thu, 5 Dec 2002 13:17:37 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 10628 invoked from network); 5 Dec 2002 21:17:45 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 5 Dec 2002 21:17:45 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.6/8.12.6) with ESMTP id gB5LHZuH045896; Thu, 5 Dec 2002 16:17:36 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Date: Thu, 05 Dec 2002 16:17:43 -0500 (EST) From: John Baldwin To: smp@FreeBSD.org Subject: Update on SE7500 P4 SMP.. Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I've had the opportunity to tinker with one of these machines for a day or so now (as well as do some more peaking at how Linnex does this). So far I've had no luck in figuring it out. I can tell you that Linux does _not_ use broadcast startup IPI's as I had thought/heard, but targets them at each AP individually just as we do. In fact, both of us are (bascially, both Linux and FreeBSD add an extra level de-assert INIT IPI) following the algorithm outlined in the MP v1.4 spec except that Linux has some extra code to support external APICs for things like SMP on 486 which FreeBSD just doesn't support. I turned on the CHECK_PORTS stuff and am convinced that the AP just is not getting the INIT or STARTUP IPIs. The IPI's claim to succeed as far as being sent ok, but the AP never starts to execute the trampoline code. I do wonder if the APIC bus is a bit out of wack as the ESR (error status register) of the BSP's local APIC reports that it has "Received an Illegal Vector", but it has this reported at the before we even start sending startup IPI's (INIT or STARTUP) to the AP. I've tried all sorts of various things including tweaking some of the delivery modes on the INIT IPI's (which we didn't have quite right but which don't really matter) and nothing has made any difference. This has absolutely nothing to do with I/O interrupts, the I/O APIC, virtual wire mode, etc. It does have to do with interprocessor interrupts. For the time being I'm going to concenctrate on other more pressing 5.0 things, but if anyone has any ideas I'm all ears. :-/ -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message