On 01/16/2012 08:36 PM, Martin Decky wrote:
> There are no explicit limitations on the number of CPUs, but there might
> be some implicit limitations. There might be a problem with the
> enumeration of the CPUs in your machine or a problem with waking them
> up. Again, it is hard to tell without a detailed investigation.
I suspect this is because we configure the APICs to run in the flat
mode, which has this rather low limit. Quoting the Intel manual:
Flat Model — This model is selected by programming DFR bits 28 through
31 to 1111. Here, a unique logical APIC ID can be established for up to
8 local APICs by setting a different bit in the logical APIC ID field of
the LDR for each local APIC. A group of local APICs can then be selected
by setting one or more bits in the MDA.
And the corresponding part of apic.c::l_apic_init():
/* Program Destination Format Register for Flat mode. */
dfr_t dfr;
dfr.value = l_apic[DFR];
dfr.model = MODEL_FLAT;
l_apic[DFR] = dfr.value;
Jakub
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel