Re: MSI to memory?

From: Roland Dreier
Date: Fri Jul 02 2004 - 11:05:21 EST


Bjorn> The conventional use of MSI is for a PCI adapter to
Bjorn> generate processor interrupts by writing to a local APIC.
Bjorn> But I've seen some things that lead me to believe it would
Bjorn> also allow an adapter to write to things other than a local
Bjorn> APIC, i.e., to memory.

Bjorn> If so, is that a useful capability that should be exposed
Bjorn> through the Linux MSI interface?

MSI does allow an adapter to write messages to any arbitrary PCI
address (under the control of the host software). It's not clear to
me that write to anywhere other than a special interrupt generation
address is that useful.

It is true that the current Linux MSI code is quite Intel-specific,
hard-coding Intel addresses and message contents. At some point, if
I'm able to get documentation on interesting hardware, I would like to
try and move the generation of addresses/messages to arch-specific
code so that Linux can support more general PCI hosts.

Unfortunately, it seems that at least the current HyperTransport PCI-X
tunnels used on Opteron systems do not support MSI (based on my quick
reading of the documentation). The only hardware I have access to
that supports MSI is the PowerPC 440GP, and I'm not sure how
interesting that is.

I assume that future PCI Express chipsets for Opteron will support
MSI, and hopefully documentation will be available (or manufacturers
will write Linux support).

Does anyone know if there are any ppc64 systems that support MSI?

Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/