Date: Sat, 02 Jun 2001 13:22:34 -0500 From: Lars Fredriksen <lars@odin-corporation.com> To: smp@freebsd.org Subject: shared interrupt handling Message-ID: <3B192EEA.68CE9AF1@odin-corporation.com>
next in thread | raw e-mail | index | archive | help
Hi, I have noticed that my mptable (ASUS bios 1013) on my p2b-ds always indicate that the interrupt source bus is ISA, even for the PCI device. This happens also when one reserves a couple of irqs for ISA in the bios. When you do this, a couple of the PCI cards end up sharing interrupt, which typically doesn't seem to work. I suspect the problem is that the interrupt sharing that is set up span buses, that is that is the cards on the PCI bus end up sharing irqs with the ISA cards or with built in devices like com ports or ide controllers. One case in particular that we don't handle at all, is when the mptable specifies that we share irq 14 or 15. This doesn't work at all since the ata driver currently doesn't allow for interrupt sharing (RF_SHAREABLE is not set). Has anyone else seen this? Would implementing the PCI IRQ reroutes that LINUX does fix this problem? Also, is it the fact that this MB has both and ISA and PCI bus that causes the interrupt source bus be set to ISA no matter what? Because it is in any configuration I can seem to come up with, pci_apic_irq() always fails, and we resort to isa_apic_irq() which in turn always return the irq that the BIOS mptable came up with, which seems to always be < 16, thus a lot of irq sharing takes place, between hardwired ISA devices, PNP ISA devices and PCI devices. If you are so lucky that the pci device work, you can be sure that the ISA ones do not. Anyway, can anyone shed some light here - is it all because of bogus mptables or do we not handle the above cases correctly? Thanks, Lars To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B192EEA.68CE9AF1>