[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-smp
Subject:    Re: init / startup IPI's
From:       "Maciej W. Rozycki" <macro () ds2 ! pg ! gda ! pl>
Date:       2000-10-02 15:16:19
[Download RAW message or body]

On Sat, 30 Sep 2000, Martin J. Bligh wrote:

> According to the Intel MPS spec, this does a warm reset, and should
> jump to the vector offset at 467, which should make us do
> start_secondary()
> 
> So what's the necessity for the STARTUP IPI, in which we (again)
> embed a "second copy" of the vector for start_eip / start_secondary?

 See Intel CPU datasheets.  Depending on the configuration, an INIT IPI
has a different semantics.  For example a dual Pentium CPU shuts down on
an INIT IPI and can only be waken up by a Start-Up IPI.  On the other
hand, a primary Pentium CPU ignores Start-Up IPIs and treats an INIT IPI
just like an INIT pulse.  Note that you can have a Pentium SMP system
consisting of only primary Pentium CPUs.  The same probably applies to P6
CPUs -- just look up docs to be sure.

> I'm not just curious - this does actually matter to me ;-) If you have a
> "remote" processor whose APIC can only be addressed logically,
> not physically, you can't send the STARTUP, as the INIT will reset
> the LDR (or at least that's how I understand it ...)

 Well, you may always send a broadcast in the physical mode to wake all
CPUs simultanously.  Why can't you address APICs directly, BTW?  Too many
of them? 

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

-
To unsubscribe from this list: send the line "unsubscribe linux-smp" in
the body of a message to majordomo@vger.kernel.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic