From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M79bJ-0006yI-Kq for qemu-devel@nongnu.org; Thu, 21 May 2009 10:50:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M79bF-0006vj-2N for qemu-devel@nongnu.org; Thu, 21 May 2009 10:50:29 -0400 Received: from [199.232.76.173] (port=44671 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M79bE-0006vd-UR for qemu-devel@nongnu.org; Thu, 21 May 2009 10:50:24 -0400 Received: from mx20.gnu.org ([199.232.41.8]:63233) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1M79bE-0006o2-Jf for qemu-devel@nongnu.org; Thu, 21 May 2009 10:50:24 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M79bD-0005Bl-AE for qemu-devel@nongnu.org; Thu, 21 May 2009 10:50:23 -0400 From: Paul Brook Subject: Re: [Qemu-devel] [PATCH] qemu: msi irq allocation api Date: Thu, 21 May 2009 15:50:18 +0100 References: <20090520162130.GA22109@redhat.com> <200905211514.31059.paul@codesourcery.com> <4A156739.6060207@redhat.com> In-Reply-To: <4A156739.6060207@redhat.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200905211550.21217.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Carsten Otte , kvm@vger.kernel.org, "Michael S. Tsirkin" , Rusty Russell , qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, Christian Borntraeger > >>> kvm has no business messing with the PCI device code. > >> > >> kvm has a fast path for irq injection. If qemu wants to support it we > >> need some abstraction here. > > > > Fast path from where to where? Having the PCI layer bypass/re-implement > > the APIC and inject the interrupt directly into the cpu core sounds a > > particularly bad idea. > > kvm implements the APIC in the host kernel (qemu upstream doesn't > support this yet). The fast path is wired to the in-kernel APIC, not > the cpu core directly. > > The idea is to wire it to UIO for device assignment, to a virtio-device > implemented in the kernel, and to qemu. I still don't see why you're trying to bypass straight from the pci layer to the apic. Why can't you just pass the apic MMIO writes to the kernel? You've presumably got to update the apic state anyway. Paul