[coreboot] DL145 G1 with dual dualcore CPU using coreboot ?

Oskar Enoksson enok at lysator.liu.se
Thu Aug 12 16:15:57 CEST 2010


Myles Watson wrote:
>  
>   
>> Ok thank you for all your help. I can boot and run Linux 2.6.33 now and
>> I see all four CPU cores in /proc/cpuinfo. I compiled and added SeaBIOS
>> as payload for coreboot and it works. I also compiled and added GPXE to
>> the image and was able to PXE-boot. However, there are a few problems:
>>
>> - The server has 4x1GB memory, but I only see 1GB. Why? What can I do?
>>     
> Send the complete boot log as an attachment and see if anyone can spot the
> reason.
>   
See attachment for my coreboot output. The server has 4x512MB (not
4x1GB) memory, and only half the memory is visible. The
/var/log/messages in Linux says:

Scanning NUMA topology in Northbridge 24
Number of physical nodes 2
Node 0 MemBase 0000000000000000 Limit 000000003ffef000
Skipping disabled node 1
Using node hash shift of 63

I can see all four cores in /proc/cpuinfo and I can use them, but
"numactl --hardware" shows that there is only one numa node detected, so
something is wrong from BIOS.
>> - There is something wrong with the interrupts. When the kernel is
>> initializing the ethernet interfaces it says
>>
>> "Determining IP information for eth0...Disabling IRQ #19"
>>     
> Did you modify mptable.c and irq_tables.c for your board?  The IRQ routing
> is probably different than what the s2881 has.  You can run getpir and look
> in /proc/interrupts and lspci when you boot with the factory BIOS.
>   
I'm not sure how those numbers and bitmasks in mptables.c, lspci,
/proc/interrupts and irq_table.c correlate, but I'll keep trying to
figure it out ... I have run getpir and mptable utilitys, but taking the
output from these utilitys and putting it into the source tree will not
make the server boot. I guess I need to study more exactly how this kind
of hardware works, and how to interpret the tables and outputs from lspci.

My latest dl145 sourcecode directory is at the following URL in case
someone is interested or could give me a hint:
http://www.lysator.liu.se/~enok/dl145_g1/

The output of lspci and /proc/interrupts from a factory BIOS DL145G1
(with two single-core Opterons) looks like this:

[root at cl200 ~]# lspci -tv
-[0000:00]-+-01.0-[0000:03]--
           +-01.1  Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC
           +-02.0-[0000:02]--+-03.0  Broadcom Corporation NetXtreme
BCM5704 Gigabit Ethernet
           |                 \-03.1  Broadcom Corporation NetXtreme
BCM5704 Gigabit Ethernet
           +-02.1  Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC
           +-06.0-[0000:01]--+-00.0  Advanced Micro Devices [AMD]
AMD-8111 USB
           |                 +-00.1  Advanced Micro Devices [AMD]
AMD-8111 USB
           |                 \-04.0  ATI Technologies Inc Rage XL
           +-07.0  Advanced Micro Devices [AMD] AMD-8111 LPC
           +-07.1  Advanced Micro Devices [AMD] AMD-8111 IDE
           +-07.3  Advanced Micro Devices [AMD] AMD-8111 ACPI
           +-18.0  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
           +-18.1  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map
           +-18.2  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller
           +-18.3  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
           +-19.0  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
           +-19.1  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map
           +-19.2  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller
           \-19.3  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
[root at cl200 ~]# cat /proc/interrupts
           CPU0       CPU1
  0:        125          0   IO-APIC-edge      timer
  1:         13         27   IO-APIC-edge      i8042
  4:          0          1   IO-APIC-edge
  8:          0          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 14:       5819       6709   IO-APIC-edge      ide0
 15:          0          0   IO-APIC-edge      ide1
 19:          0          0   IO-APIC-fasteoi   ohci_hcd:usb1, ohci_hcd:usb2
 31:    1220580        993   IO-APIC-fasteoi   eth0
NMI:          0          0   Non-maskable interrupts
LOC:     997597     807576   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:          0          0   Performance monitoring interrupts
PND:          0          0   Performance pending work
RES:      49543      65171   Rescheduling interrupts
CAL:         55         85   Function call interrupts
TLB:       2639       7498   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:         82         82   Machine check polls
ERR:          0
MIS:          0


The same output from my dualcore DL145G1 with coreboot (booted with
irqpoll kernel argument) looks as follows:

[root at cl199 ~]# lspci -tv
-[0000:00]-+-01.0-[0000:01]----01.0  MYRICOM Inc. Myrinet 2000 Scalable
Cluster Interconnect
           +-01.1  Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC
           +-02.0-[0000:02]--+-03.0  Broadcom Corporation NetXtreme
BCM5704 Gigabit Ethernet
           |                 \-03.1  Broadcom Corporation NetXtreme
BCM5704 Gigabit Ethernet
           +-02.1  Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC
           +-03.0-[0000:03]--+-00.0  Advanced Micro Devices [AMD]
AMD-8111 USB
           |                 +-00.1  Advanced Micro Devices [AMD]
AMD-8111 USB
           |                 \-04.0  ATI Technologies Inc Rage XL
           +-04.0  Advanced Micro Devices [AMD] AMD-8111 LPC
           +-04.1  Advanced Micro Devices [AMD] AMD-8111 IDE
           +-04.2  Advanced Micro Devices [AMD] AMD-8111 SMBus 2.0
           +-04.3  Advanced Micro Devices [AMD] AMD-8111 ACPI
           +-18.0  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
           +-18.1  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map
           +-18.2  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller
           +-18.3  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
           +-19.0  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
           +-19.1  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map
           +-19.2  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller
           \-19.3  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
[root at cl199 ~]# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  0:        218          0          0          0   IO-APIC-edge      timer
  1:          0          0          0         42   IO-APIC-edge      i8042
  2:          0          0          0          0    XT-PIC-XT        cascade
  4:          0          0          0          1   IO-APIC-edge
  6:          0          0          0          3   IO-APIC-edge      floppy
  8:          0          0          0          0   IO-APIC-edge      rtc0
 12:          0          0          0          4   IO-APIC-edge      i8042
 14:        704          0          3      11547   IO-APIC-edge      ide0
 15:          0          0          0          0   IO-APIC-edge      ide1
 19:          0       1132        518        941   IO-APIC-fasteoi  
ohci_hcd:usb1, ohci_hcd:usb2
 28:          0          0          0          0   IO-APIC-fasteoi   eth0
NMI:          0          0          0          0   Non-maskable interrupts
LOC:     895964     895791     895716     895639   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:          0          0          0          0   Performance
monitoring interrupts
PND:          0          0          0          0   Performance pending work
RES:       2850       3860       8762       3934   Rescheduling interrupts
CAL:        106         42         87        104   Function call interrupts
TLB:        275        878        275        831   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:          3          3          3          3   Machine check polls
ERR:          0
MIS:          0

-------------- next part --------------
A non-text attachment was scrubbed...
Name: boot-2.log
Type: text/x-log
Size: 20405 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100812/1bf178c9/attachment.log>


More information about the coreboot mailing list