Date: Thu, 05 Dec 2002 16:17:43 -0500 (EST) From: John Baldwin <jhb@FreeBSD.org> To: smp@FreeBSD.org Subject: Update on SE7500 P4 SMP.. Message-ID: <XFMail.20021205161743.jhb@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
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 <jhb@FreeBSD.org> <>< 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20021205161743.jhb>