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

Reply via email to