* 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