Re: [Qemu-devel] [PATCH] qemu: msi irq allocation api
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2009-05-20 17:35:36
On Wed, May 20, 2009 at 08:21:01PM +0300, Blue Swirl wrote:
On 5/20/09, Michael S. Tsirkin [off-list ref] wrote:quoted
define api for allocating/setting up msi-x irqs, and for updating them with msi-x vector information, supply implementation in ioapic. Please comment on this API: I intend to port my msi-x patch to work on top of it. Signed-off-by: Michael S. Tsirkin [off-list ref]Sparc64 also uses packets ("mondos", not implemented yet) for interrupt vector data, there the packet size is 8 * 64 bits. I think we should aim for a more generic API that covers this case also.
Are you sure this is a good idea? MSI is tied to PCI, and PCI only has MSI, not "mondos". What code would benefit from this abstraction?
For example, irq.c could support opaque packet payload of unspecified/predefined size. MSI packet structure should be defined in ioapic.c.
Note that MSI does not have packets and MSI interrupts do not pass any payload.
The pci_msi_ops structure could be 'const', or do you expect it to change during execution?
Right. I'll fix that. -- MST