From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53022) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Su4ZO-0005q2-Og for qemu-devel@nongnu.org; Wed, 25 Jul 2012 12:36:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Su4ZK-0004Xw-Dc for qemu-devel@nongnu.org; Wed, 25 Jul 2012 12:36:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:62257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Su4ZK-0004Xr-3j for qemu-devel@nongnu.org; Wed, 25 Jul 2012 12:36:14 -0400 Message-ID: <50102079.9090003@redhat.com> Date: Wed, 25 Jul 2012 19:36:09 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1343222672-25312-1-git-send-email-peter.maydell@linaro.org> <1343222672-25312-3-git-send-email-peter.maydell@linaro.org> <50101519.4020108@redhat.com> <5010166A.5070201@siemens.com> <501016D9.2050101@redhat.com> <501017B8.8040507@siemens.com> <50101ABE.4080801@siemens.com> <50101EBA.7040405@siemens.com> In-Reply-To: <50101EBA.7040405@siemens.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/6] kvm: Rename kvm_irqchip_set_irq to kvm_inject_async_irq List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Peter Maydell , Alexander Graf , Marcelo Tosatti , "qemu-devel@nongnu.org" , "patches@linaro.org" On 07/25/2012 07:28 PM, Jan Kiszka wrote: > On 2012-07-25 18:24, Peter Maydell wrote: >> On 25 July 2012 17:18, Peter Maydell wrote: >>> Not in the sense of "you need to KVM_CREATE_IRQCHIP it", >> >> ...incidentally I was thinking about maybe moving kvm_irqchip_create() >> from being called by kvm_init() to being called by the device >> init function for the relevant irqchip (particularly we'll need >> to do that if we adopt Avi's suggestion of having a parameter >> to KVM_CREATE_IRQCHIP to specify a particular kind of irqchip). >> But that's more invasive surgery so I didn't want to do it yet. > > This won't fly as irchip affects the whole orchestra (vcpus & irqchip > stubs in user space), at least on x86, and has to be called in the > current order. That's also why kernel_irqchip is a machine options, not > an option of one of the many device models. Yes, to elaborate, KVM_CREATE_IRQCHIP creates N+3 devices: N local APICs (deferred until N vcpus are created), one IOAPIC, and two PICs. We debated decoupling those devices, but since there are a lot of intercommunication among those devices, it was deemed to difficult (plus these were the early kvm days when we had different get it in/get it right tradeoffs). -- error compiling committee.c: too many arguments to function