not sure why yet but ... all functions other than 0 are not having their OPS set correctly.
ron
* ron minnich rminnich@lanl.gov [030929 20:15]:
not sure why yet but ... all functions other than 0 are not having their OPS set correctly.
Ron, Eric, can you confirm that your MPTable is correct for the Arima Hdama?
Looking into /usr/src/linux/arch/x86_64/kernel/pci-pc.c at function pci_scan_mptable():
If there is an MP Table, and it does not contain the bus, it will not be scanned. Besides that it looks like setting pci=lastbus=<val> makes Linux scan all the busses up to bus <val>.
Stefan
On Mon, 29 Sep 2003, Stefan Reinauer wrote:
- ron minnich rminnich@lanl.gov [030929 20:15]:
not sure why yet but ... all functions other than 0 are not having their OPS set correctly.
Ron, Eric, can you confirm that your MPTable is correct for the Arima Hdama?
yes, I have booted SMP on the HDAMA using the SMP table from sourceforge. Works fine.
Looking into /usr/src/linux/arch/x86_64/kernel/pci-pc.c at function pci_scan_mptable():
If there is an MP Table, and it does not contain the bus, it will not be scanned. Besides that it looks like setting pci=lastbus=<val> makes Linux scan all the busses up to bus <val>.
well, that's a bad development. But at least you have solved the mystery, almost.
Why do my bus 1 tg3s' work in SMP and not non-SMP if my mptable doesn't have bus 1?
ron
* ron minnich rminnich@lanl.gov [030929 21:08]:
Ron, Eric, can you confirm that your MPTable is correct for the Arima Hdama?
yes, I have booted SMP on the HDAMA using the SMP table from sourceforge. Works fine.
But you have no devices on bus 1, right? Are the devices on the other busses there?
Looking into /usr/src/linux/arch/x86_64/kernel/pci-pc.c at function pci_scan_mptable():
If there is an MP Table, and it does not contain the bus, it will not be scanned. Besides that it looks like setting pci=lastbus=<val> makes Linux scan all the busses up to bus <val>.
well, that's a bad development. But at least you have solved the mystery, almost.
Linux tries to rely on the information firmware provides. Not that this is always a good thing, but there are chipsets where free probing of the bus just hangs the machine hard (I know that happens at least on the X-Box) So having a careful default probably makes sense from an OS perspective. The decision whether to trust hardware vendors or firmware vendors is just a matter of taste I bet :) And of the fact that Firmware can be fixed with a recompile ;-)
Why do my bus 1 tg3s' work in SMP and not non-SMP if my mptable doesn't have bus 1?
They work means that they work under Linux, or with etherboot? I suspect that the interrupt routing is somewhat different on SMP and non-smp as well but thats just a wild guess. Looking at AMD64's pci-irq.c I could start wondering why it contains entries for the Intel PIIX and the Via 82C586 IRQ routers but not for the 8111 ;) But hey, there's a lot of flexibility in that highlevel kind of programming
Stefan
On Mon, 29 Sep 2003, Stefan Reinauer wrote:
But you have no devices on bus 1, right? Are the devices on the other busses there?
ah, you are right. The only working thing I've done has been with no devices on bus 1. I forgot.
Linux tries to rely on the information firmware provides. Not that this is always a good thing, but there are chipsets where free probing of the bus just hangs the machine hard (I know that happens at least on the X-Box)
happening now on the EPIA, due to problems in V2 PCI code I don't quite understand yet.
ron