From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StHnZ-0000dH-9m for qemu-devel@nongnu.org; Mon, 23 Jul 2012 08:31:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1StHnX-0004jz-CK for qemu-devel@nongnu.org; Mon, 23 Jul 2012 08:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31120) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StHnW-0004jZ-VK for qemu-devel@nongnu.org; Mon, 23 Jul 2012 08:31:39 -0400 Message-ID: <500D441F.2000103@redhat.com> Date: Mon, 23 Jul 2012 15:31:27 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1342811652-16931-1-git-send-email-peter.maydell@linaro.org> <500A52BF.9080207@web.de> <500A730F.8040604@web.de> <500A7A02.3050301@web.de> <500A8303.8020903@web.de> <500A8DAE.3040909@web.de> <500AA21E.9050506@web.de> <500AABC8.7080406@web.de> <20120723140418.76d8f874@BR9GNB5Z> <500D4129.8030200@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] kvm: Move kvm_allows_irq0_override() to target-i386 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: kvm , patches@linaro.org, Marcelo Tosatti , qemu-devel@nongnu.org, Alexander Graf , Jan Kiszka , Cornelia Huck On 07/23/2012 03:25 PM, Peter Maydell wrote: > On 23 July 2012 13:18, Avi Kivity wrote: >> While you don't have an irqchip, you do have asynchronous interrupt >> injection, yes? That's what irqchip really is all about. > > This seems an odd point of view -- async interrupt injection > doesn't have anything to do with whether we're modelling > the irqchip in the kernel or in QEMU, I thought... It does on x86. The relationship between the APIC and the core is synchronous - the APIC presents the interrupt, the core grabs is when it is ready (interrupt flag, etc.) and signals the APIC it has done so. The APIC then clears the interrupt from the interrupt request register and sets it in the interrupt status register. This sequence has to be done while the vcpu is stopped, since we don't have access to the interrupt flag otherwise. -- error compiling committee.c: too many arguments to function