Re: [PATCH] qemu-kvm-x86: consider the irq0override flag in kvm_arch_init_irq_routing

Bernhard Kohl
2011-02-07T10:46:59Z

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<bernhard.kohl@nsn.com>
>> ---
>> 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