Skip site navigation (1)Skip section navigation (2)
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>