[syslinux] Hyperthreaded P4 processor count

Terry Barnaby terry1 at beam.ltd.uk
Fri Jan 23 02:51:54 PST 2004


Hi Peter,

Could be, but if fails on two different SMP systems we have.
Both are based on Supermicro Motherboards, one is about 1.5 years
old and the other very recent ...

Lilo and Grub are both fine.
The Kernel APM code that fails appears to believe that processor 0
is not running during boot.
The kernel code that fails is :

    /* 2002/08/01 - WT
     * This is to avoid random crashes at boot time during initialization
     * on SMP systems in case of "apm=power-off" mode. Seen on ASUS A7M266D.
     * Some bioses don't like being called from CPU != 0.
     * Method suggested by Ingo Molnar.
     */
    if (cpu_number_map(smp_processor_id()) != 0) {
        current->cpus_allowed = 1;
        schedule();
        if (unlikely(cpu_number_map(smp_processor_id()) != 0))
            BUG();
    }

Terry

H. Peter Anvin wrote:

> Terry Barnaby wrote:
>
>> I have what may be a similar problem with syslinux. As noted previously
>> in the list if I use apm=power-off on the kernel boot line with syslinux
>> on an SMP system I get a kernel error message from the apm system.
>> It seems that there is some issue with syslinux and multiple processors.
>> This happens on two systems. Lilo and grub are fine.....
>>
>> In my case Linux comes up and recognises all of the processors though.
>>
>
> One possibility is that your BIOS is buggy and puts its MP tables in 
> unprotected memory.  If so, the bootloader could end up unwittingly 
> overwriting them, which would be bootloader dependent.
>
> Alternatively, there could be a memory-overwrite bug in SYSLINUX which 
> overwrites the MP tables on your particular system.
>
>     -hpa
>




More information about the Syslinux mailing list