2007-01-31 00:03:18

by Jan Kasprzak

[permalink] [raw]
Subject: No mptable found (Tyan h1000E)

Hello,

I have a Tyan h1000E (S3970) dual-socket board, with two
dual-core AMD Athlon 2210 CPUs (4 cores total). The problem is
that the kernel apparently cannot detect the SMP configuration
(after boot, /proc/cpuinfo lists only one processor).
The full dmesg output is available at

http://www.fi.muni.cz/~kas/tmp/dmesg-h1000E.txt

The most interesting parts of it are probably these (with my comments
inline marked by "---"):

[...]
SRAT: PXM 0 -> APIC 0 -> Node 0
SRAT: PXM 0 -> APIC 1 -> Node 0
SRAT: PXM 1 -> APIC 2 -> Node 1
SRAT: PXM 1 -> APIC 3 -> Node 1
--- So the kernel can see all four APICs.
[...]
Bootmem setup node 0 0000000000000000-00000000bfff0000
No mptable found.
--- the above does not depend on MPS 1.1 or 1.4 settings in the BIOS
[...]
Kernel command line: ro root=/dev/md0 console=ttyS0,38400n8
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
Console: colour VGA+ 80x25
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Checking aperture...
CPU 0: aperture @ e8000000 size 128 MB
CPU 1: aperture @ e8000000 size 128 MB
--- the kernel knows something about CPU1 (presumably the second core of CPU0).
[...]
CPU 0/0 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
Freeing SMP alternatives: 32k freed
ACPI: Core revision 20060707
ACPI: setting ELCR to 0200 (from 0e20)
weird, boot CPU (#0) not listed by the BIOS.
SMP motherboard not detected.
Using local APIC timer interrupts.
result 12469270
Detected 12.469 MHz APIC timer.
testing NMI watchdog ... OK.
SMP disabled
--- hmm, no SMP configuration detected after all.
Brought up 1 CPUs
testing NMI watchdog ... OK.
^^^ here it waits for few seconds before printing "OK."

I have tested it with vanilla 2.6.19.2, 2.6.20-rc6, and
the latest Fedora kernel (2.6.19-1.2895.fc6). I have the latest BIOS
available for this board, and the BIOS can see all four cores.

How can I make all four cores visible by the Linux kernel?
Thanks,

-Yenya

--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
> I will never go to meetings again because I think face to face meetings <
> are the biggest waste of time you can ever have. --Linus Torvalds <


2007-01-31 07:53:40

by Len Brown

[permalink] [raw]
Subject: Re: No mptable found (Tyan h1000E)

On Tuesday 30 January 2007 18:16, Jan Kasprzak wrote:
> Hello,
>
> I have a Tyan h1000E (S3970) dual-socket board, with two
> dual-core AMD Athlon 2210 CPUs (4 cores total). The problem is
> that the kernel apparently cannot detect the SMP configuration
> (after boot, /proc/cpuinfo lists only one processor).
> The full dmesg output is available at
>
> http://www.fi.muni.cz/~kas/tmp/dmesg-h1000E.txt

ACPI: RSDP (v002 ACPIAM ) @ 0x00000000000f7700
ACPI: XSDT (v001 A M I OEMXSDT 0x10000605 MSFT 0x00000097) @ 0x00000000bfff0100
ACPI: FADT (v003 A M I OEMFACP 0x10000605 MSFT 0x00000097) @ 0x00000000bfff0290
ACPI: OEMB (v001 A M I AMI_OEM 0x10000605 MSFT 0x00000097) @ 0x00000000bfffe040
ACPI: SRAT (v001 AMD HAMMER 0x00000001 AMD 0x00000001) @ 0x00000000bfff3420
ACPI: SSDT (v001 A M I POWERNOW 0x00000001 AMD 0x00000001) @ 0x00000000bfff34e0
ACPI: DSDT (v001 0AAAA 0AAAA000 0x00000000 INTL 0x02002026) @ 0x0000000000000000

This board appears to have no APIC (MADT) table -- which is what Linux uses to enumerate processors
in ACPI mode. (doesn't have MPS either, but in ACPI mode you wouldn't use it anyway).

Are there any BIOS SETUP settings for enabling SMP or ACPI features?

I guess that /proc/interrupts shows this system running in PIC mode?

Please open a bugzilla here and attach the output from acpidump.
http://bugzilla.kernel.org/enter_bug.cgi?product=ACPI
Component: Config-Processors

Any chance you can see if Windows finds multiple processors on this board with this version of the BIOS?

This system may be proof that Linux needs to parse the DSDT to properly enumerate processors.
Though it is somewhat strange to have an SMP without an IOAPIC...

thanks,
-Len

ps. after you get the acpidump for the failing system, check for a BIOS update.

> The most interesting parts of it are probably these (with my comments
> inline marked by "---"):
>
> [...]
> SRAT: PXM 0 -> APIC 0 -> Node 0
> SRAT: PXM 0 -> APIC 1 -> Node 0
> SRAT: PXM 1 -> APIC 2 -> Node 1
> SRAT: PXM 1 -> APIC 3 -> Node 1
> --- So the kernel can see all four APICs.
> [...]
> Bootmem setup node 0 0000000000000000-00000000bfff0000
> No mptable found.
> --- the above does not depend on MPS 1.1 or 1.4 settings in the BIOS
> [...]
> Kernel command line: ro root=/dev/md0 console=ttyS0,38400n8
> Initializing CPU#0
> PID hash table entries: 4096 (order: 12, 32768 bytes)
> Console: colour VGA+ 80x25
> Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
> Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
> Checking aperture...
> CPU 0: aperture @ e8000000 size 128 MB
> CPU 1: aperture @ e8000000 size 128 MB
> --- the kernel knows something about CPU1 (presumably the second core of CPU0).
> [...]
> CPU 0/0 -> Node 0
> CPU: Physical Processor ID: 0
> CPU: Processor Core ID: 0
> SMP alternatives: switching to UP code
> Freeing SMP alternatives: 32k freed
> ACPI: Core revision 20060707
> ACPI: setting ELCR to 0200 (from 0e20)
> weird, boot CPU (#0) not listed by the BIOS.
> SMP motherboard not detected.
> Using local APIC timer interrupts.
> result 12469270
> Detected 12.469 MHz APIC timer.
> testing NMI watchdog ... OK.
> SMP disabled
> --- hmm, no SMP configuration detected after all.
> Brought up 1 CPUs
> testing NMI watchdog ... OK.
> ^^^ here it waits for few seconds before printing "OK."
>
> I have tested it with vanilla 2.6.19.2, 2.6.20-rc6, and
> the latest Fedora kernel (2.6.19-1.2895.fc6). I have the latest BIOS
> available for this board, and the BIOS can see all four cores.
>
> How can I make all four cores visible by the Linux kernel?
> Thanks,
>
> -Yenya
>

2007-01-31 11:45:41

by Jan Kasprzak

[permalink] [raw]
Subject: Re: No mptable found (Tyan h1000E)

Len Brown wrote:
: This board appears to have no APIC (MADT) table -- which is what Linux uses to enumerate processors
: in ACPI mode. (doesn't have MPS either, but in ACPI mode you wouldn't use it anyway).
:
: Are there any BIOS SETUP settings for enabling SMP or ACPI features?
:
In the ACPI submenu there are following options:

ACPI version features (1.0, 2.0, 3.0 - I have set it to 3.0, but I think
I have tried 2.0 as well)
ACPI APIC support (I have Enabled)
ACPI SRAT table (Enabled)
ACPI OEMB table (Enabled)
Headless mode (Disabled)

Then there is a MPS option in a different submenu (I have 1.4, but I have
tried 1.1 as well).

Another APIC related function is in the southbridge setup:
Hide XIOAPIC PCI function (I think I have it disabled[*])

[*] I had to put this box to production use (even with one CPU visible),
but I will have an identical box available in two weeks or so,
so I can do more testing then.

: I guess that /proc/interrupts shows this system running in PIC mode?

Yes, of course.

: Please open a bugzilla here and attach the output from acpidump.
: http://bugzilla.kernel.org/enter_bug.cgi?product=ACPI
: Component: Config-Processors
:
Done, http://bugzilla.kernel.org/show_bug.cgi?id=7908
BTW, when trying to attach the dmesg output to the bugzilla entry, I've
got the following message:

> Attachment #10239 to Bug #7908 Created
> /home/www/dead.letter... Saved message in /home/www/dead.letter
> Email sent to: [email protected],
> [email protected]
> Excluding: [email protected]

I think the dead.letter message should not be there :-)
Apparently, this bugzilla does not have a "bugzilla" category.
Where can I report this?

: Any chance you can see if Windows finds multiple processors on this board with this version of the BIOS?
:
I can try this in two weeks or so.

: ps. after you get the acpidump for the failing system, check for a BIOS update.

In the pervious mail I wrote:
[...]
: > the latest Fedora kernel (2.6.19-1.2895.fc6). I have the latest BIOS
: > available for this board, and the BIOS can see all four cores.

So AFAIK there is no BIOS update available.

-Yenya

--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
> I will never go to meetings again because I think face to face meetings <
> are the biggest waste of time you can ever have. --Linus Torvalds <