currently, I'm having PIRQ routing problems.
Etherboot loads the kernel just fine, and here's something very odd: etherboot says the two MACs are at 1:3.0 and 1:4.0; the kernel says the macs are at 2:3.0 and 2:4.0.
This is odd. Any one out there have a simple explanation for me?
Also the PIRQ in the CVS looked quite wrong, but dumping the PIRQ from a running BIOS and using that fails as well.
I've gone so far as to have LinuxBIOS just jam the same interrupts the standard bios uses by doing this in mainboard/arima/hdama/mainboard.c
static void enable(struct chip *chip, enum chip_pass pass) {
struct mainboard_arima_hdama_config *conf = (struct mainboard_arima_hdama_config *)chip->chip_info;
switch (pass) { default: break; case CONF_PASS_PRE_BOOT: { struct device *p; /* PIRQ is still wrong. Just set ethernet for now */ p = dev_find_slot(1, 0x18); pci_write_config8(p, 0x3c, 0xb); p = dev_find_slot(1, 0x20); pci_write_config8(p, 0x3c, 0xb); printk_err("JAM ethernet to IRQ 11!\n"); break; } }
}
But it didn't help at all. I also tried doing the same crude thing to device 2:3.0 but that did not help.
This business of the gige appearing on different busses is very odd; any explanation here?
Hints welcome :-)
ron