Hi,
I am still having problems scanning the noncoherent chains connected to CPU1-3 of the motherboard I am working to support. I could temporarily work around this issue by setting the Config Base and Limit registers of those links to 0. Otherwise collapsing the chain when setting up that CPU fails. I set the Config Base and Limit registers like this: PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x04000103, PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0xff050213, since there's bus 0-4 on cpu0 when i don't scan cpu1
Looking at incoherent_ht.c there are two functions that are very similar:
static int ht_setup_chain(device_t udev, unsigned upos) static int ht_setup_chains(const struct ht_chain *ht_c, int ht_c_num)
the first one warns: #warning "FIXME handle multiple chains!"
Should we not drop ht_setup_chain in favour of ht_setup_chains?
Also later on it dies apparently in amdk8_scan_chains in northbridge/amd/amdk8/northbridge.c.
Something is severely wrong with my link setup, but I double checked where the coherent and non coherent links hang off of..
Pointers?
Stefan.
LinuxBIOS-1.1.7.0-fallback Thu Nov 25 21:58:33 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00ff0000bus=00 id =74501022 bus=00 id =74601022 udev=(0,0x18,0) 0x94=00000000bus=00 id =74501022 bus=00 id =74601022 udev=(0,0x18,0) 0x94=00000000bus=00 id =74501022 bus=00 id =74601022 udev=(0,0x18,0) 0x94=00000000bus=00 id =74501022 bus=00 id =74601022 PCI: 00:01.00 PCI: 00:01.01 PCI: 00:02.00 PCI: 00:02.01 PCI: 00:03.00 PCI: 00:04.00 PCI: 00:04.01 PCI: 00:04.02 PCI: 00:04.03 PCI: 00:04.05 PCI: 00:04.06 PCI: 00:18.00 PCI: 00:18.01 PCI: 00:18.02 PCI: 00:18.03 PCI: 00:19.00 PCI: 00:19.01 PCI: 00:19.02 PCI: 00:19.03 PCI: 00:1a.00 PCI: 00:1a.01 PCI: 00:1a.02 PCI: 00:1a.03 PCI: 00:1b.00 PCI: 00:1b.01 PCI: 00:1b.02 PCI: 00:1b.03 ht reset - Ram1.00 Ram1.01 Ram1.02 Ram1.03 Ram2.00 Ram2.01 Ram2.02 Ram2.03 Ram3 Initializing memory: done Initializing memory: done Initializing memory: done Initializing memory: done Clearing initial memory region: done Ram4 Copying LinuxBIOS to ram. Jumping to LinuxBIOS. LinuxBIOS-1.1.7.0-fallback Thu Nov 25 21:58:33 CET 2004 booting... Enumerating buses... PCI_DOMAIN: 0000 enabled APIC_CLUSTER: 0 enabled PCI: pci_scan_bus for bus 0 PCI: 00:18.0 [1022/1100] bus ops PCI: 00:18.0 [1022/1100] enabled PCI: 00:18.1 [1022/1101] enabled PCI: 00:18.2 [1022/1102] enabled PCI: 00:18.3 [1022/1103] ops PCI: 00:18.3 [1022/1103] enabled PCI: 00:19.0 [1022/1100] bus ops PCI: 00:19.0 [1022/1100] enabled PCI: 00:19.1 [1022/1101] enabled PCI: 00:19.2 [1022/1102] enabled PCI: 00:19.3 [1022/1103] ops PCI: 00:19.3 [1022/1103] enabled PCI: 00:1a.0 [1022/1100] bus ops PCI: 00:1a.0 [1022/1100] enabled PCI: 00:1a.1 [1022/1101] enabled PCI: 00:1a.2 [1022/1102] enabled PCI: 00:1a.3 [1022/1103] ops PCI: 00:1a.3 [1022/1103] enabled PCI: 00:1b.0 [1022/1100] bus ops PCI: 00:1b.0 [1022/1100] enabled PCI: 00:1b.1 [1022/1101] enabled PCI: 00:1b.2 [1022/1102] enabled PCI: 00:1b.3 [1022/1103] ops PCI: 00:1b.3 [1022/1103] enabled PCI: 01:01.0 [1022/7450] enabled next_unitid: 0003 PCI: 01:03.0 [1022/7460] enabled next_unitid: 0007 HyperT reset not needed PCI: pci_scan_bus for bus 1 PCI: 01:01.0 [1022/7450] bus ops PCI: 01:01.0 [1022/7450] enabled PCI: 01:01.1 [1022/7451] ops PCI: 01:01.1 [1022/7451] enabled PCI: 01:02.0 [1022/7450] bus ops PCI: 01:02.0 [1022/7450] enabled PCI: 01:02.1 [1022/7451] ops PCI: 01:02.1 [1022/7451] enabled PCI: 01:03.0 [1022/7460] bus ops PCI: 01:03.0 [1022/7460] enabled PCI: 01:04.0 [1022/7468] bus ops PCI: 01:04.0 [1022/7468] enabled PCI: 01:04.1 [1022/7469] ops PCI: 01:04.1 [1022/7469] enabled PCI: 01:04.2 [1022/746a] bus ops PCI: 01:04.2 [1022/746a] enabled PCI: 01:04.3 [1022/746b] bus ops PCI: 01:04.3 [1022/746b] enabled PCI: 01:04.5 No device operations PCI: 01:04.6 [1022/746e] enabled PCI: pci_scan_bus for bus 2 PCI: pci_scan_bus returning with max=02 PCI: pci_scan_bus for bus 3 PCI: pci_scan_bus returning with max=03 PCI: pci_scan_bus for bus 4 PCI: 04:00.0 [1022/7464] enabled PCI: 04:00.1 [1022/7464] enabled PCI: 04:00.2 No device operations PCI: 04:01.0 No device operations PCI: 04:04.0 [1002/4752] enabled PCI: 04:05.0 [8086/1209] enabled PCI: pci_scan_bus returning with max=04 PNP: 002e.0 enabled PNP: 002e.1 disabled PNP: 002e.2 enabled PNP: 002e.3 disabled PNP: 002e.5 enabled PNP: 002e.6 disabled PNP: 002e.7 disabled PNP: 002e.8 disabled PNP: 002e.9 disabled PNP: 002e.a disabled PNP: 002e.b enabled I2C: 70 enabled I2C: 50 enabled I2C: 51 enabled I2C: 52 enabled I2C: 53 enabled I2C: 54 enabled I2C: 55 enabled I2C: 56 enabled I2C: 57 enabled PCI: pci_scan_bus returning with max=04
What is your HT topology?
Is there any cross link between (CPU0 and CPU2) or (CPU1 and CPU2)....
You may try to disable i2c stuff in the amd8111 dir.
The code works well with S4882 and S4880.
YH
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios-admin@clustermatic.org] On Behalf Of Stefan Reinauer Sent: Thursday, November 25, 2004 3:07 PM To: linuxbios@clustermatic.org Subject: What's next?
Hi,
I am still having problems scanning the noncoherent chains connected to CPU1-3 of the motherboard I am working to support. I could temporarily work around this issue by setting the Config Base and Limit registers of those links to 0. Otherwise collapsing the chain when setting up that CPU fails. I set the Config Base and Limit registers like this: PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x04000103, PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0xff050213, since there's bus 0-4 on cpu0 when i don't scan cpu1
Looking at incoherent_ht.c there are two functions that are very similar:
static int ht_setup_chain(device_t udev, unsigned upos) static int ht_setup_chains(const struct ht_chain *ht_c, int ht_c_num)
the first one warns: #warning "FIXME handle multiple chains!"
Should we not drop ht_setup_chain in favour of ht_setup_chains?
Also later on it dies apparently in amdk8_scan_chains in northbridge/amd/amdk8/northbridge.c.
Something is severely wrong with my link setup, but I double checked where the coherent and non coherent links hang off of..
Pointers?
Stefan.
LinuxBIOS-1.1.7.0-fallback Thu Nov 25 21:58:33 CET 2004 starting... setting up resource map....done. 04 nodes initialized. udev=(0,0x18,0) 0xb4=00ff0000bus=00 id =74501022 bus=00 id =74601022 udev=(0,0x18,0) 0x94=00000000bus=00 id =74501022 bus=00 id =74601022 udev=(0,0x18,0) 0x94=00000000bus=00 id =74501022 bus=00 id =74601022 udev=(0,0x18,0) 0x94=00000000bus=00 id =74501022 bus=00 id =74601022 PCI: 00:01.00 PCI: 00:01.01 PCI: 00:02.00 PCI: 00:02.01 PCI: 00:03.00 PCI: 00:04.00 PCI: 00:04.01 PCI: 00:04.02 PCI: 00:04.03 PCI: 00:04.05 PCI: 00:04.06 PCI: 00:18.00 PCI: 00:18.01 PCI: 00:18.02 PCI: 00:18.03 PCI: 00:19.00 PCI: 00:19.01 PCI: 00:19.02 PCI: 00:19.03 PCI: 00:1a.00 PCI: 00:1a.01 PCI: 00:1a.02 PCI: 00:1a.03 PCI: 00:1b.00 PCI: 00:1b.01 PCI: 00:1b.02 PCI: 00:1b.03 ht reset - Ram1.00 Ram1.01 Ram1.02 Ram1.03 Ram2.00 Ram2.01 Ram2.02 Ram2.03 Ram3 Initializing memory: done Initializing memory: done Initializing memory: done Initializing memory: done Clearing initial memory region: done Ram4 Copying LinuxBIOS to ram. Jumping to LinuxBIOS. LinuxBIOS-1.1.7.0-fallback Thu Nov 25 21:58:33 CET 2004 booting... Enumerating buses... PCI_DOMAIN: 0000 enabled APIC_CLUSTER: 0 enabled PCI: pci_scan_bus for bus 0 PCI: 00:18.0 [1022/1100] bus ops PCI: 00:18.0 [1022/1100] enabled PCI: 00:18.1 [1022/1101] enabled PCI: 00:18.2 [1022/1102] enabled PCI: 00:18.3 [1022/1103] ops PCI: 00:18.3 [1022/1103] enabled PCI: 00:19.0 [1022/1100] bus ops PCI: 00:19.0 [1022/1100] enabled PCI: 00:19.1 [1022/1101] enabled PCI: 00:19.2 [1022/1102] enabled PCI: 00:19.3 [1022/1103] ops PCI: 00:19.3 [1022/1103] enabled PCI: 00:1a.0 [1022/1100] bus ops PCI: 00:1a.0 [1022/1100] enabled PCI: 00:1a.1 [1022/1101] enabled PCI: 00:1a.2 [1022/1102] enabled PCI: 00:1a.3 [1022/1103] ops PCI: 00:1a.3 [1022/1103] enabled PCI: 00:1b.0 [1022/1100] bus ops PCI: 00:1b.0 [1022/1100] enabled PCI: 00:1b.1 [1022/1101] enabled PCI: 00:1b.2 [1022/1102] enabled PCI: 00:1b.3 [1022/1103] ops PCI: 00:1b.3 [1022/1103] enabled PCI: 01:01.0 [1022/7450] enabled next_unitid: 0003 PCI: 01:03.0 [1022/7460] enabled next_unitid: 0007 HyperT reset not needed PCI: pci_scan_bus for bus 1 PCI: 01:01.0 [1022/7450] bus ops PCI: 01:01.0 [1022/7450] enabled PCI: 01:01.1 [1022/7451] ops PCI: 01:01.1 [1022/7451] enabled PCI: 01:02.0 [1022/7450] bus ops PCI: 01:02.0 [1022/7450] enabled PCI: 01:02.1 [1022/7451] ops PCI: 01:02.1 [1022/7451] enabled PCI: 01:03.0 [1022/7460] bus ops PCI: 01:03.0 [1022/7460] enabled PCI: 01:04.0 [1022/7468] bus ops PCI: 01:04.0 [1022/7468] enabled PCI: 01:04.1 [1022/7469] ops PCI: 01:04.1 [1022/7469] enabled PCI: 01:04.2 [1022/746a] bus ops PCI: 01:04.2 [1022/746a] enabled PCI: 01:04.3 [1022/746b] bus ops PCI: 01:04.3 [1022/746b] enabled PCI: 01:04.5 No device operations PCI: 01:04.6 [1022/746e] enabled PCI: pci_scan_bus for bus 2 PCI: pci_scan_bus returning with max=02 PCI: pci_scan_bus for bus 3 PCI: pci_scan_bus returning with max=03 PCI: pci_scan_bus for bus 4 PCI: 04:00.0 [1022/7464] enabled PCI: 04:00.1 [1022/7464] enabled PCI: 04:00.2 No device operations PCI: 04:01.0 No device operations PCI: 04:04.0 [1002/4752] enabled PCI: 04:05.0 [8086/1209] enabled PCI: pci_scan_bus returning with max=04 PNP: 002e.0 enabled PNP: 002e.1 disabled PNP: 002e.2 enabled PNP: 002e.3 disabled PNP: 002e.5 enabled PNP: 002e.6 disabled PNP: 002e.7 disabled PNP: 002e.8 disabled PNP: 002e.9 disabled PNP: 002e.a disabled PNP: 002e.b enabled I2C: 70 enabled I2C: 50 enabled I2C: 51 enabled I2C: 52 enabled I2C: 53 enabled I2C: 54 enabled I2C: 55 enabled I2C: 56 enabled I2C: 57 enabled PCI: pci_scan_bus returning with max=04
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
* Yinghai Lu yhlu@tyan.com [041126 06:13]:
What is your HT topology?
Is there any cross link between (CPU0 and CPU2) or (CPU1 and CPU2)....
0-2 is there, did you mean 0-3/1-2?
Actually the specs I got had a different CPU numbering, but the existing non-linux bios works with below topology...
static const unsigned int rows_4p[4][4] = { { 0x000b0101, 0x00010202, 0x00030808, 0x00010208 }, { 0x00010202, 0x00070101, 0x00010204, 0x00030404 }, { 0x00030404, 0x00010204, 0x00070101, 0x00010202 }, { 0x00010208, 0x00030808, 0x00010202, 0x000b0101 } };
NCHT-chain NCHT-chain | | | | LDT2 LDT1 | | CPU2 - LDT0 ---- LDT0 - CPU3 | | LDT1 LDT2 | | | | | | LDT2 LDT1 | | CPU0 - LDT0 ---- LDT0 - CPU1 | | LDT1 LDT2 | | | | NCHT-chain NCHT-chain
You may try to disable i2c stuff in the amd8111 dir.
Tried this already. Doesn't help. I also tried disabling the link optimization code, but as one would assume, it does not play in until softreset, which it never reaches.
The code works well with S4882 and S4880.
... Stefan