Dear Sir or Madam, I recently upgraded my home server mainboard (Gigabyte K8NNXP-940) with a dual core processor AMD Opteron 275. Everything runs great, the BIOS recognizes the CPU and prints the correct CPU name string while booting. However, I cannot use the 2nd CPU core, although dmesg writes: [ 0.000000] Scanning NUMA topology in Northbridge 24 [ 0.000000] CPU has 2 num_cores Curiously, I was looking for the reason and found out that my BIOS' MADT/APIC table lacks the entry for the LAPIC of the 2nd core. I checked the manufacturer's website for BIOS updates, but of course there are not any :( Just to test things out, I also installed windows xp and opensolaris. The former runs fine, though again with one core only, the latter crashes / reboots while booting. After I found some information about loading custom DSDTs and SSDTs at http://gaugusch.at/kernel.shtml I rewrote my MADT table to make use of the 2nd core. However I recognized later, while browsing through the ACPI specifications on acpi.info that DSDT and SSDT do not include the MADTs :( Please let me know if there is any possibility to load a custom MADT and/or if there is anything else I could do. Thank you very much Alex Debug information: dmesg ( please ignore the autoloaded DSDT, the result without it is the same :( ) [ 0.000000] Linux version 2.6.24-16-generic (buildd@yellow) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP Thu Apr 10 12:47:45 UTC 2008 (Ubuntu 2.6.24-16.30-generic) [ 0.000000] Command line: root=UUID=424037A340379C9B loop=/ubuntu/disks/root.disk ro [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 00000000000a0000 (usable) [ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 00000000dfff0000 (usable) [ 0.000000] BIOS-e820: 00000000dfff0000 - 00000000dfff3000 (ACPI NVS) [ 0.000000] BIOS-e820: 00000000dfff3000 - 00000000e0000000 (ACPI data) [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) [ 0.000000] BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) [ 0.000000] BIOS-e820: 0000000100000000 - 0000000120000000 (usable) [ 0.000000] Entering add_active_range(0, 0, 160) 0 entries of 3200 used [ 0.000000] Entering add_active_range(0, 256, 91748 1 entries of 3200 used [ 0.000000] Entering add_active_range(0, 1048576, 117964 2 entries of 3200 used [ 0.000000] end_pfn_map = 1179648 [ 0.000000] DMI 2.3 present. [ 0.000000] ACPI: RSDP signature @ 0xFFFF8100000F66D0 checksum 0 [ 0.000000] ACPI: RSDP 000F66D0, 0014 (r0 Nvidia) [ 0.000000] ACPI: RSDT DFFF3000, 002C (r1 Nvidia AWRDACPI 42302E31 AWRD 1010101) [ 0.000000] ACPI: FACP DFFF3040, 0074 (r1 Nvidia AWRDACPI 42302E31 AWRD 1010101) [ 0.000000] ACPI: DSDT DFFF30C0, 4C15 (r1 NVIDIA AWRDACPI 1000 MSFT 100000C) [ 0.000000] ACPI: FACS DFFF0000, 0040 [ 0.000000] ACPI: APIC DFFF7D00, 006E (r1 Nvidia AWRDACPI 42302E31 AWRD 1010101) [ 0.000000] Scanning NUMA topology in Northbridge 24 [ 0.000000] CPU has 2 num_cores [ 0.000000] No NUMA configuration found [ 0.000000] Faking a node at 0000000000000000-0000000120000000 [ 0.000000] Entering add_active_range(0, 0, 160) 0 entries of 3200 used [ 0.000000] Entering add_active_range(0, 256, 91748 1 entries of 3200 used [ 0.000000] Entering add_active_range(0, 1048576, 117964 2 entries of 3200 used [ 0.000000] Bootmem setup node 0 0000000000000000-0000000120000000 [ 0.000000] Zone PFN ranges: [ 0.000000] DMA 0 -> 4096 [ 0.000000] DMA32 4096 -> 1048576 [ 0.000000] Normal 1048576 -> 1179648 [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[3] active PFN ranges [ 0.000000] 0: 0 -> 160 [ 0.000000] 0: 256 -> 917488 [ 0.000000] 0: 1048576 -> 1179648 [ 0.000000] On node 0 totalpages: 1048464 [ 0.000000] DMA zone: 56 pages used for memmap [ 0.000000] DMA zone: 1209 pages reserved [ 0.000000] DMA zone: 2735 pages, LIFO batch:0 [ 0.000000] DMA32 zone: 14280 pages used for memmap [ 0.000000] DMA32 zone: 899112 pages, LIFO batch:31 [ 0.000000] Normal zone: 1792 pages used for memmap [ 0.000000] Normal zone: 129280 pages, LIFO batch:31 [ 0.000000] Movable zone: 0 pages used for memmap [ 0.000000] Nvidia board detected. Ignoring ACPI timer override. [ 0.000000] If you got timer trouble try acpi_use_timer_override [ 0.000000] ACPI: PM-Timer IO Port: 0x1008 [ 0.000000] ACPI: Local APIC address 0xfee00000 [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [ 0.000000] Processor #0 (Bootup-CPU) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1]) [ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) [ 0.000000] IOAPIC[0]: apic_id 2, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [ 0.000000] ACPI: BIOS IRQ0 pin2 override ignored. [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge) [ 0.000000] ACPI: IRQ9 used by override. [ 0.000000] ACPI: IRQ14 used by override. [ 0.000000] ACPI: IRQ15 used by override. [ 0.000000] Setting APIC routing to flat [ 0.000000] Using ACPI (MADT) for SMP configuration information [ 0.000000] swsusp: Registered nosave memory region: 00000000000a0000 - 00000000000f0000 [ 0.000000] swsusp: Registered nosave memory region: 00000000000f0000 - 0000000000100000 [ 0.000000] swsusp: Registered nosave memory region: 00000000dfff0000 - 00000000dfff3000 [ 0.000000] swsusp: Registered nosave memory region: 00000000dfff3000 - 00000000e0000000 [ 0.000000] swsusp: Registered nosave memory region: 00000000e0000000 - 00000000fec00000 [ 0.000000] swsusp: Registered nosave memory region: 00000000fec00000 - 00000000fec01000 [ 0.000000] swsusp: Registered nosave memory region: 00000000fec01000 - 00000000fee00000 [ 0.000000] swsusp: Registered nosave memory region: 00000000fee00000 - 00000000fee01000 [ 0.000000] swsusp: Registered nosave memory region: 00000000fee01000 - 00000000ffff0000 [ 0.000000] swsusp: Registered nosave memory region: 00000000ffff0000 - 0000000100000000 [ 0.000000] Allocating PCI resources starting at e2000000 (gap: e0000000:1ec00000) [ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs [ 0.000000] PERCPU: Allocating 34656 bytes of per cpu data [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 1031127 [ 0.000000] Policy zone: Normal [ 0.000000] Kernel command line: root=UUID=424037A340379C9B loop=/ubuntu/disks/root.disk ro [ 0.000000] Initializing CPU#0 [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes) [ 0.000000] TSC calibrated against PM_TIMER [ 49.414974] time.c: Detected 1890.003 MHz processor. [ 49.417075] Console: colour VGA+ 80x25 [ 49.417078] console [tty0] enabled [ 49.421420] Checking aperture... [ 49.421479] CPU 0: aperture @ e8000000 size 128 MB [ 49.460794] Memory: 4116752k/4718592k available (2466k kernel code, 77104k reserved, 1309k data, 316k init) [ 49.460910] SLUB: Genslabs=12, HWalign=64, Order=0-1, MinObjects=4, CPUs=1, Nodes=1 [ 49.540782] Calibrating delay using timer specific routine.. 3782.47 BogoMIPS (lpj=7564959) [ 49.540928] Security Framework initialized [ 49.540992] SELinux: Disabled at boot. [ 49.541062] AppArmor: AppArmor initialized [ 49.541124] Failure registering capabilities with primary security module. [ 49.541503] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) [ 49.543946] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) [ 49.545229] Mount-cache hash table entries: 256 [ 49.545410] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) [ 49.545474] CPU: L2 Cache: 1024K (64 bytes/line) [ 49.545535] CPU 0/0 -> Node 0 [ 49.545610] SMP alternatives: switching to UP code [ 49.546105] Freeing SMP alternatives: 24k freed [ 49.546501] Early unpacking initramfs... done [ 49.864793] ACPI: Core revision 20070126 [ 49.864900] ACPI: Looking for DSDT in initramfs... successfully read 22520 bytes from /DSDT.aml. [ 49.865040] ACPI: Table DSDT replaced by host OS [ 49.865186] ACPI: DSDT 00000000, 57F8 (r1 NVIDIA AWRDACPI 1000 INTL 20080514) [ 49.865347] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"<6>Using local APIC timer interrupts. [ 49.961675] APIC timer calibration result 13125011 [ 49.961677] Detected 13.125 MHz APIC timer. [ 49.961784] Brought up 1 CPUs Current MADT (commented format by iasl): -------- /* * Intel ACPI Component Architecture * AML Disassembler version 20080514 * * Disassembly of original_old.bin, Thu May 28 11:37:46 2008 * * ACPI Data Table [APIC] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue */ [000h 000 4] Signature : "APIC" /* Multiple APIC Description Table */ [004h 004 4] Table Length : 0000006E [008h 008 1] Revision : 01 [009h 009 1] Checksum : 76 [00Ah 010 6] Oem ID : "Nvidia" [010h 016 8] Oem Table ID : "AWRDACPI" [018h 024 4] Oem Revision : 42302E31 [01Ch 028 4] Asl Compiler ID : "AWRD" [020h 032 4] Asl Compiler Revision : 01010101 [024h 036 4] Local Apic Address : FEE00000 [028h 040 4] Flags (decoded below) : 00000001 PC-AT Compatibility : 1 [02Ch 044 1] Subtable Type : 00 -Processor Local APIC- [02Dh 045 1] Length : 08 [02Eh 046 1] Processor ID : 00 [02Fh 047 1] Local Apic ID : 00 [030h 048 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [034h 052 1] Subtable Type : 01 -I/O APIC- [035h 053 1] Length : 0C [036h 054 1] I/O Apic ID : 02 [037h 055 1] Reserved : 00 [038h 056 4] Address : FEC00000 [03Ch 060 4] Interrupt : 00000000 [040h 064 1] Subtable Type : 02 -Interrupt Source Override- [041h 065 1] Length : 0A [042h 066 1] Bus : 00 [043h 067 1] Source : 00 [044h 068 4] Interrupt : 00000002 [048h 072 2] Flags (decoded below) : 0000 Polarity : 0 Trigger Mode : 0 [04Ah 074 1] Subtable Type : 02 -Interrupt Source Override- [04Bh 075 1] Length : 0A [04Ch 076 1] Bus : 00 [04Dh 077 1] Source : 09 [04Eh 078 4] Interrupt : 00000009 [052h 082 2] Flags (decoded below) : 000D Polarity : 1 Trigger Mode : 3 [054h 084 1] Subtable Type : 02 -Interrupt Source Override- [055h 085 1] Length : 0A [056h 086 1] Bus : 00 [057h 087 1] Source : 0E [058h 088 4] Interrupt : 0000000E [05Ch 092 2] Flags (decoded below) : 0005 Polarity : 1 Trigger Mode : 1 [05Eh 094 1] Subtable Type : 02 -Interrupt Source Override- [05Fh 095 1] Length : 0A [060h 096 1] Bus : 00 [061h 097 1] Source : 0F [062h 098 4] Interrupt : 0000000F [066h 102 2] Flags (decoded below) : 0005 Polarity : 1 Trigger Mode : 1 [068h 104 1] Subtable Type : 04 -Local APIC NMI- [069h 105 1] Length : 06 [06Ah 106 1] Processor ID : 00 [06Bh 107 2] Flags (decoded below) : 0000 Polarity : 0 Trigger Mode : 0 [06Dh 109 1] Interrupt Input LINT : 01 Raw Table Data 0000: 41 50 49 43 6E 00 00 00 01 76 4E 76 69 64 69 61 APICn....vNvidia 0010: 41 57 52 44 41 43 50 49 31 2E 30 42 41 57 52 44 AWRDACPI1.0BAWRD 0020: 01 01 01 01 00 00 E0 FE 01 00 00 00 00 08 00 00 ................ 0030: 01 00 00 00 01 0C 02 00 00 00 C0 FE 00 00 00 00 ................ 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 09 09 00 ................ 0050: 00 00 0D 00 02 0A 00 0E 0E 00 00 00 05 00 02 0A ................ 0060: 00 0F 0F 00 00 00 05 00 04 06 00 00 00 01 .............. -------- My suggested "new" MADT: ------- /* * Intel ACPI Component Architecture * AML Disassembler version 20080514 * * Disassembly of NEW.BIN, Wed May 28 18:28:28 2008 * * ACPI Data Table [APIC] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue */ [000h 000 4] Signature : "APIC" /* Multiple APIC Description Table */ [004h 004 4] Table Length : 0000007C [008h 008 1] Revision : 01 [009h 009 1] Checksum : 51 [00Ah 010 6] Oem ID : "Nvidia" [010h 016 8] Oem Table ID : "AWRDACPI" [018h 024 4] Oem Revision : 42302E31 [01Ch 028 4] Asl Compiler ID : "AWRD" [020h 032 4] Asl Compiler Revision : 01010101 [024h 036 4] Local Apic Address : FEE00000 [028h 040 4] Flags (decoded below) : 00000001 PC-AT Compatibility : 1 [02Ch 044 1] Subtable Type : 00 -Processor Local APIC- [02Dh 045 1] Length : 08 [02Eh 046 1] Processor ID : 00 [02Fh 047 1] Local Apic ID : 00 [030h 048 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [034h 052 1] Subtable Type : 00 -Processor Local APIC- [035h 053 1] Length : 08 [036h 054 1] Processor ID : 01 [037h 055 1] Local Apic ID : 01 [038h 056 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [03Ch 060 1] Subtable Type : 01 -I/O APIC- [03Dh 061 1] Length : 0C [03Eh 062 1] I/O Apic ID : 02 [03Fh 063 1] Reserved : 00 [040h 064 4] Address : FEC00000 [044h 068 4] Interrupt : 00000000 [048h 072 1] Subtable Type : 02 -Interrupt Source Override- [049h 073 1] Length : 0A [04Ah 074 1] Bus : 00 [04Bh 075 1] Source : 00 [04Ch 076 4] Interrupt : 00000002 [050h 080 2] Flags (decoded below) : 0000 Polarity : 0 Trigger Mode : 0 [052h 082 1] Subtable Type : 02 -Interrupt Source Override- [053h 083 1] Length : 0A [054h 084 1] Bus : 00 [055h 085 1] Source : 09 [056h 086 4] Interrupt : 00000009 [05Ah 090 2] Flags (decoded below) : 000D Polarity : 1 Trigger Mode : 3 [05Ch 092 1] Subtable Type : 02 -Interrupt Source Override- [05Dh 093 1] Length : 0A [05Eh 094 1] Bus : 00 [05Fh 095 1] Source : 0E [060h 096 4] Interrupt : 0000000E [064h 100 2] Flags (decoded below) : 0005 Polarity : 1 Trigger Mode : 1 [066h 102 1] Subtable Type : 02 -Interrupt Source Override- [067h 103 1] Length : 0A [068h 104 1] Bus : 00 [069h 105 1] Source : 0F [06Ah 106 4] Interrupt : 0000000F [06Eh 110 2] Flags (decoded below) : 0005 Polarity : 1 Trigger Mode : 1 [070h 112 1] Subtable Type : 04 -Local APIC NMI- [071h 113 1] Length : 06 [072h 114 1] Processor ID : 00 [073h 115 2] Flags (decoded below) : 0000 Polarity : 0 Trigger Mode : 0 [075h 117 1] Interrupt Input LINT : 01 [076h 118 1] Subtable Type : 04 -Local APIC NMI- [077h 119 1] Length : 06 [078h 120 1] Processor ID : 01 [079h 121 2] Flags (decoded below) : 0000 Polarity : 0 Trigger Mode : 0 [07Bh 123 1] Interrupt Input LINT : 01 Raw Table Data 0000: 41 50 49 43 7C 00 00 00 01 51 4E 76 69 64 69 61 APIC|....QNvidia 0010: 41 57 52 44 41 43 50 49 31 2E 30 42 41 57 52 44 AWRDACPI1.0BAWRD 0020: 01 01 01 01 00 00 E0 FE 01 00 00 00 00 08 00 00 ................ 0030: 01 00 00 00 00 08 01 01 01 00 00 00 01 0C 02 00 ................ 0040: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 ................ 0050: 00 00 02 0A 00 09 09 00 00 00 0D 00 02 0A 00 0E ................ 0060: 0E 00 00 00 05 00 02 0A 00 0F 0F 00 00 00 05 00 ................ 0070: 04 06 00 00 00 01 04 06 01 00 00 01 ............ ------- -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html