[openib-general] Re: [PATCH 6/6] IB: userspace support for RDMA connection manager

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Mon Mar 6 20:51:02 PST 2006


On Mon, Mar 06, 2006 at 04:05:30PM -0800, Bryan O'Sullivan wrote:

> Depends on the driver.  Ours needs the interrupt vector rather than the
> number, which means we don't work without CONFIG_PCI_MSI.  That is,
> unless there's some other way to get the vector that I don't know about
> (entirely likely).

What did you end up doing to get interrupt support on your HT device?

The last product I worked on had a custom HT device that also had
interrupts and the approach we took was to implement the IOAPIC
support in the usual Intel way (ie provide a memory mapped version of
the IOAPIC registers the HT spec hides in the interrupt discovery
block) and customized the bios to include the linkages from those
memory mapped IOAPIC registers to the PCI device id in the various
bios tables. Linux ends up working just fine, none the wiser.

Essentially this is what HT chipsets do, the internal HT-native
functions are controlled through a typical IOAPIC mapping that the
BIOS has hardwired linkages for.

I suppose, for linux to genericaly support HT spec interrupts in the
IOAPIC sort of way it could be patched to locate the interrupt
discovery capability block during the PCI scan then allocate new
HT-IOAPICs that use config write rather than mmaps for control and
provide some precomputed interrupt linkages. The the interrupt core it
self would know how to configure the vector number in your device.  If
some chipsets have HT interrupt discovery blocks then it might even be
worth doing because it would be one less thing the kernel would depend
on ACPI for.

Jason



More information about the general mailing list