From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernhard Kohl Subject: Re: [PATCH] qemu-kvm-x86: consider the irq0override flag in kvm_arch_init_irq_routing Date: Mon, 07 Feb 2011 11:17:34 +0100 Message-ID: <4D4FC6BE.2010203@nsn.com> References: <1284472300-4211-1-git-send-email-bernhard.kohl@nsn.com> <4D4FBE7E.8090308@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Marcelo Tosatti To: ext Jan Kiszka Return-path: Received: from demumfd001.nsn-inter.net ([93.183.12.32]:12740 "EHLO demumfd001.nsn-inter.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753177Ab1BGKq7 (ORCPT ); Mon, 7 Feb 2011 05:46:59 -0500 In-Reply-To: <4D4FBE7E.8090308@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: Am 07.02.2011 10:42, schrieb ext Jan Kiszka: > Hi Bernhard, > > On 2010-09-14 15:51, Bernhard Kohl wrote: >> The setting of the irq0override flag must be also passed properly >> to the KVM_IRQCHIP_IOAPIC. >> >> Signed-off-by: Bernhard Kohl >> --- >> qemu-kvm-x86.c | 4 ++-- >> 1 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c >> index fd974b3..e35c234 100644 >> --- a/qemu-kvm-x86.c >> +++ b/qemu-kvm-x86.c >> @@ -1388,9 +1388,9 @@ int kvm_arch_init_irq_routing(void) >> } >> } >> for (i = 0; i< 24; ++i) { >> - if (i == 0) { >> + if (i == 0&& irq0override) { >> r = kvm_add_irq_route(kvm_context, i, KVM_IRQCHIP_IOAPIC, 2); >> - } else if (i != 2) { >> + } else if (i != 2 || !irq0override) { >> r = kvm_add_irq_route(kvm_context, i, KVM_IRQCHIP_IOAPIC, i); >> } >> if (r< 0) { > While cleaning up the irq0override fragments, I stumbled over this > commit. It is a nop for qemu-kvm, today and also by the time it was applied: > > irq0override = !kvm_irqchip || kvm_has_gsi_routing > > But, for obvious reasons, the code above is only executed when gsi > routing is available. > > Can you remember what motivated this patch? > > Jan > For our legacy OS which only could handle the timer interrupt at irq 0, I set in qemu "irq0override=0;". In fact I added temporarily a command line option for that. Of course this setting needed to be passed to kvm. Today we have a correction in our OS and can use qemu-kvm's default setting. Bernhard