Date: Mon, 02 Sep 1996 13:59:04 -0700 From: erich@uruk.org 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 Message-ID: <199609022059.NAA18595@uruk.org> In-Reply-To: Your message of "Sat, 02 Sep 1996 22:11:22 %2B0200." <m0uxfL8-0004wvC@groa.uct.ac.za>
next in thread | previous in thread | raw e-mail | index | archive | help
[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): <erich@uruk.org> Mad Genius wanna-be, CyberMuffin \__ (finger me for other stats) Web: http://www.uruk.org/~erich/ Motto: "I'll live forever or die trying"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609022059.NAA18595>