Hi,
I am desperate, still getting:
LinuxBIOS-1.1.7.0-fallback Sat Dec 11 20:30:55 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00030000 Pretending to collapse device 74501022 on bus 00000000 udev=(0,0x19,0) 0xd4=000a0400 Pretending to collapse device 74501022 on bus 00000004
* Why would only bus 0 and 4 be collapsed, but not bus 1,2,3?
Stefan
Hi,
I started stripping down noncht enumeration.
in the beginning i really collapse bus 0. After this I only pretend to do so, while walking through the devices with a simple dummy loop:
for(dev = PCI_DEV(bus, 0, 0); dev <= PCI_DEV(bus, 0x1f, 0x7); dev += PCI_DEV(0, 1, 0)) { uint32_t id; unsigned pos, flags;
id = pci_read_config32(dev, PCI_VENDOR_ID); if ((id == 0xffffffff) || (id == 0x00000000) || (id == 0x0000ffff) || (id == 0xffff0000)) { continue; }
print_debug("Pretending to collapse device "); print_debug_hex32(dev); print_debug(" id "); print_debug_hex32(id); print_debug(" on bus "); print_debug_hex32(bus); print_debug("\r\n"); } print_debug("done with bus\n\r");
LinuxBIOS-1.1.7.0-fallback Sat Dec 11 21:33:25 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00040000 Pretending to collapse device 00000000 id 74501022 on bus 00000000 Pretending to collapse device 00000800 id 74501022 on bus 00000000 Pretending to collapse device 0000c000 id 11001022 on bus 00000000 Pretending to collapse device 0000c800 id 11001022 on bus 00000000 Pretending to collapse device 0000d000 id 11001022 on bus 00000000 Pretending to collapse device 0000d800 id 11001022 on bus 00000000 done with bus bus=00 id =74501022 done. next_unitid=00000003 bus=00 id =74601022 done. next_unitid=00000007 udev=(0,0x19,0) 0xd4=000a0500 Pretending to collapse device 00050000 id 74501022 on bus 00000005 Pretending to collapse device 00050800 id 74501022 on bus 00000005 <hang> I never get to "done with bus"
Stefan
Please try this: 1. Comment out inconherent init in auto.c 2. disable hard_reset in northbridge.c
So let the ht code in hardwaremain stage to check you ht connection.
YH -----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios-admin@clustermatic.org] On Behalf Of Stefan Reinauer Sent: Saturday, December 11, 2004 12:42 PM To: linuxbios@clustermatic.org Subject: Re: collapsing devices.
Hi,
I started stripping down noncht enumeration.
in the beginning i really collapse bus 0. After this I only pretend to do so, while walking through the devices with a simple dummy loop:
for(dev = PCI_DEV(bus, 0, 0); dev <= PCI_DEV(bus, 0x1f, 0x7); dev += PCI_DEV(0, 1, 0)) { uint32_t id; unsigned pos, flags;
id = pci_read_config32(dev, PCI_VENDOR_ID); if ((id == 0xffffffff) || (id == 0x00000000) || (id == 0x0000ffff) || (id == 0xffff0000)) { continue; }
print_debug("Pretending to collapse device "); print_debug_hex32(dev); print_debug(" id "); print_debug_hex32(id); print_debug(" on bus "); print_debug_hex32(bus); print_debug("\r\n"); } print_debug("done with bus\n\r");
LinuxBIOS-1.1.7.0-fallback Sat Dec 11 21:33:25 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00040000 Pretending to collapse device 00000000 id 74501022 on bus 00000000 Pretending to collapse device 00000800 id 74501022 on bus 00000000 Pretending to collapse device 0000c000 id 11001022 on bus 00000000 Pretending to collapse device 0000c800 id 11001022 on bus 00000000 Pretending to collapse device 0000d000 id 11001022 on bus 00000000 Pretending to collapse device 0000d800 id 11001022 on bus 00000000 done with bus bus=00 id =74501022 done. next_unitid=00000003 bus=00 id =74601022 done. next_unitid=00000007 udev=(0,0x19,0) 0xd4=000a0500 Pretending to collapse device 00050000 id 74501022 on bus 00000005 Pretending to collapse device 00050800 id 74501022 on bus 00000005 <hang> I never get to "done with bus"
Stefan
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Actually for cpu0 link1, in the auto.c stage, incoherent.c only need to handle bus 0, because ht device only at bus 0 (8131 and 8111).
For cpu1 link2, in the auto.c stage, incoherent device only need to handle to bus 4, because we put the device on bus 4 according to setting in 0xe4 of PCI_dev.
The purpose of incoherent.c is set the HT-link and width and return need_reset. Auto.c will according to need_reset from coherent.c and incoherent.c to reset in auto.c stage.
So in the northbrige.c of hardwaremain stage will not need to reset and make ht speed and width effective.
The HT devices in the same HT chain are always in the same bus.
YH
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios-admin@clustermatic.org] On Behalf Of Stefan Reinauer Sent: Saturday, December 11, 2004 12:12 PM To: linuxbios@clustermatic.org Subject: collapsing devices.
Hi,
I am desperate, still getting:
LinuxBIOS-1.1.7.0-fallback Sat Dec 11 20:30:55 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00030000 Pretending to collapse device 74501022 on bus 00000000 udev=(0,0x19,0) 0xd4=000a0400 Pretending to collapse device 74501022 on bus 00000004
* Why would only bus 0 and 4 be collapsed, but not bus 1,2,3?
Stefan
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Eric,
I wonder if ht_collapse_previous_enumeration need to the collapse from tail to head.
For example if
8131(1)-8131-8111 Unit id 1-->3-->5
Then if clear the 8131(1) at first, can left chain still be accessed.....
YH
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios-admin@clustermatic.org] On Behalf Of Yinghai Lu Sent: Sunday, December 12, 2004 5:45 PM To: 'Stefan Reinauer'; linuxbios@clustermatic.org Subject: RE: collapsing devices.
Actually for cpu0 link1, in the auto.c stage, incoherent.c only need to handle bus 0, because ht device only at bus 0 (8131 and 8111).
For cpu1 link2, in the auto.c stage, incoherent device only need to handle to bus 4, because we put the device on bus 4 according to setting in 0xe4 of PCI_dev.
The purpose of incoherent.c is set the HT-link and width and return need_reset. Auto.c will according to need_reset from coherent.c and incoherent.c to reset in auto.c stage.
So in the northbrige.c of hardwaremain stage will not need to reset and make ht speed and width effective.
The HT devices in the same HT chain are always in the same bus.
YH
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios-admin@clustermatic.org] On Behalf Of Stefan Reinauer Sent: Saturday, December 11, 2004 12:12 PM To: linuxbios@clustermatic.org Subject: collapsing devices.
Hi,
I am desperate, still getting:
LinuxBIOS-1.1.7.0-fallback Sat Dec 11 20:30:55 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00030000 Pretending to collapse device 74501022 on bus 00000000 udev=(0,0x19,0) 0xd4=000a0400 Pretending to collapse device 74501022 on bus 00000004
* Why would only bus 0 and 4 be collapsed, but not bus 1,2,3?
Stefan
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios