From owner-freebsd-smp Mon Sep 2 13:59:23 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA12602 for smp-outgoing; Mon, 2 Sep 1996 13:59:23 -0700 (PDT) Received: from uruk.org (uruk.org [198.145.95.253]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id NAA12593 for ; Mon, 2 Sep 1996 13:59:17 -0700 (PDT) From: erich@uruk.org Received: from loopback (loopback [127.0.0.1]) by uruk.org (8.7.4/8.7.3) with SMTP id NAA18595; Mon, 2 Sep 1996 13:59:05 -0700 (PDT) Message-Id: <199609022059.NAA18595@uruk.org> X-Authentication-Warning: uruk.org: Host loopback [127.0.0.1] didn't use HELO protocol To: rv@groa.uct.ac.za (Russell Vincent) cc: smp@csn.net, erich@uruk.org, terry@lambert.org, freebsd-smp@freebsd.org Subject: Re: SMP on Intel MG15 In-reply-to: Your message of "Sat, 02 Sep 1996 22:11:22 +0200." Date: Mon, 02 Sep 1996 13:59:04 -0700 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk [referring to a comment by Terry Lambert claiming it's sort of a bummer if the CPU startup sequence requires use of the warm reset vector] The implementation of the APIC in the Pentium is not really flexible enough to handle more than 2 CPUs on startup. In particular, there is no boot-time or software way that I know of to set the "secondary CPU" bit (which is what determines if the CPU pays attention to the INIT IPI, I think). I think it is a pin in the CPU socket. The Pentium Pro actually does determine it at boot-time, so no extra hardware or change in startup scheme is required. rv@groa.uct.ac.za (Russell Vincent) writes: > > This leaves me believing that your board is 1.4 but *not* 1.1 compliant. > > Actually, it can do either - there is a BIOS setting for the > version number. I have tried both settings at various times and > no luck. > > BTW: This is a real Intel motherboard, sold by Intel themselves, > and used in the top-end Compaq and HP Pentium servers, so > I would hope it follows their spec. :-) It *does* follow the spec (at least the later one. The earlier spec didn't really cover all the cases of the existing hardware. NOTE that the "recommended CPU startup" code was greatly revised in the later spec version). I would recommend only referring to the later version of the spec. For the more advanced features like bus address range entries in the MP config table, using version 1.1 of the spec will produce bad results (for machines such as the the XXPRESS, with multiple PCI buses, trying to run NT with the BIOS set to version 1.1 of the spec will produce severe problems!). Changing the version of the MPS spec in the BIOS only refers to the information placed in the BIOS tables, and perhaps assignment of interrupts to I/O APICs. I don't think it has any relevance to the operation of the hardware itself. I certainly know the startup hardware isn't influenced by this entry. If it isn't too heathen to suggest it, look at the startup code that is in the file "arch/i386/kernel/smp.c" in any Linux kernel version 1.3.98 or beyond. I wrote it and tested it against a large list of different kinds of 1.1 and 1.4 compatible hardware, and it works with nearly all of them. I'm still working on a "canonical" startup code sequence, and should have it soon on my web site. -- Erich Stefan Boleyn \_ E-mail (preferred): Mad Genius wanna-be, CyberMuffin \__ (finger me for other stats) Web: http://www.uruk.org/~erich/ Motto: "I'll live forever or die trying"