[LinuxBIOS] bad value in HT UnitID Registers

Roman Kononov kononov195-lbl at yahoo.com
Tue Oct 10 19:47:49 CEST 2006


Hello,

I have LinuxBIOSv2-2228 on Tyan s2892 working fine. Recently, I tried v2434.
The system dies badly when an HT device (other than nVidia - unverified)
sends an HT Read Request Packet. The CPU never replies. Proven with a logic
analyzer. It was found that the newer LinuxBIOS misconfigures the CPU's HT
neighbors. Specifically, the HT UnitID Register of the AMD-8131 PCI-X bridge
(function 0, offset 0xc2, bits 4-0) is 1 in v2228 and is 0 in v2434.

UnitID cannot be 0, because when it is placed into HT request packets, either
request or reply packets are misrouted somewhere. UnitID 0 is used by host
bridges (the northbridge in this case). Non-zero UnitIDs are for slave HT devices.
This is according to the HT specs.

UnitID 0 of nVidia is also wrong. At least it violates the HT-recommended bus
and device enumeration procedure.

What do you think?

Roman
-------------------------------------------
Under LinuxBIOSv2-2434:
 > sudo lspci -v -s 40:00.0 -xxx
40:00.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge (rev 12) (prog-if 00 [Normal decode])
         Flags: bus master, 66MHz, medium devsel, latency 64
         Bus: primary=40, secondary=41, subordinate=41, sec-latency=64
         Capabilities: [a0] PCI-X bridge device
         Capabilities: [b8] HyperTransport: Interrupt Discovery and Configuration
         Capabilities: [c0] HyperTransport: Slave or Primary Interface
00: 22 10 50 74 04 00 30 02 12 00 04 06 00 40 81 00
10: 00 00 00 00 00 00 00 00 40 41 41 40 f1 01 20 22
20: f0 ff 00 00 f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 a0 00 00 00 00 00 00 00 ff 00 00 00
40: 05 00 00 00 00 00 00 00 02 0c 00 00 00 2c 00 00
50: 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 07 b8 c3 00 00 40 03 00 0e 00 ff ff 02 00 ff ff
b0: 00 00 00 00 00 00 00 00 08 c0 00 80 00 00 00 02
c0: 08 00 40 00 20 00 11 11 50 00 00 77 22 04 35 00
d0: 02 00 35 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 08 08 0d 00 08 08 0e 00 0f 0f 15 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Under LinuxBIOSv2-2228:
 > sudo lspci -v -s 05:01.0 -xxx
05:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge (rev 12) (prog-if 00 [Normal decode])
         Flags: bus master, 66MHz, medium devsel, latency 64
         Bus: primary=05, secondary=06, subordinate=06, sec-latency=64
         Capabilities: [a0] PCI-X bridge device
         Capabilities: [b8] HyperTransport: Interrupt Discovery and Configuration
         Capabilities: [c0] HyperTransport: Slave or Primary Interface
00: 22 10 50 74 04 00 30 02 12 00 04 06 00 40 81 00
10: 00 00 00 00 00 00 00 00 05 06 06 40 f1 01 20 22
20: f0 ff 00 00 f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 a0 00 00 00 00 00 00 00 ff 00 00 00
40: 05 00 00 00 00 00 00 00 02 0c 00 00 00 2c 00 00
50: 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 07 b8 c3 00 08 05 03 00 0e 00 ff ff 02 00 ff ff
b0: 00 00 00 00 00 00 00 00 08 c0 00 80 00 00 00 02
c0: 08 00 41 00 20 00 11 11 50 00 00 77 22 04 35 00
d0: 02 00 35 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 08 08 0d 00 08 08 0e 00 0f 0f 15 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00




More information about the coreboot mailing list