There is some setting in the MB Options.lb
default HT_CHAIN_UNITID_BASE=0x0 default SB_HT_CHAIN_UNITID_OFFSET_ONLY=0
you can comment out them, if you like.
YH
-----Original Message----- From: linuxbios-bounces@linuxbios.org [mailto:linuxbios-bounces@linuxbios.org] On Behalf Of Roman Kononov Sent: Tuesday, October 10, 2006 10:48 AM To: LinuxBIOS Subject: [LinuxBIOS] bad value in HT UnitID Registers
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
On 10/10/2006 01:15 PM, Lu, Yinghai wrote:
There is some setting in the MB Options.lb
default HT_CHAIN_UNITID_BASE=0x0 default SB_HT_CHAIN_UNITID_OFFSET_ONLY=0
you can comment out them, if you like.
Thank you for the answer.
What are the options for? Why did you put them in if they break things?
Regards,
Roman