From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] [PATCH] qemu: msi irq allocation api Date: Wed, 20 May 2009 21:24:11 +0300 Message-ID: <20090520175641.GB22935@redhat.com> References: <20090520162130.GA22109@redhat.com> <20090520173536.GA22935@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Christian Borntraeger , Rusty Russell , virtualization@lists.linux-foundation.org, Anthony Liguori , kvm@vger.kernel.org, avi@redhat.com, Carsten Otte , qemu-devel@nongnu.org To: Blue Swirl Return-path: Received: from mx2.redhat.com ([66.187.237.31]:59328 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756656AbZETSZi (ORCPT ); Wed, 20 May 2009 14:25:38 -0400 Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Wed, May 20, 2009 at 08:44:31PM +0300, Blue Swirl wrote: > On 5/20/09, Michael S. Tsirkin wrote: > > On Wed, May 20, 2009 at 08:21:01PM +0300, Blue Swirl wrote: > > > On 5/20/09, Michael S. Tsirkin wrote: > > > > 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 > > > > > > 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? > > Sparc64 emulation, of course. I think also the API would be neater. > > > > 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. > > I don't know too much about MSI, what's the 'data' field in msi_state then? opaque stuff that apic uses to select irq and cpu. -- MST