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

Jan Kiszka
2011-02-07T10:29:24Z

On 2011-02-07 11:17, Bernhard Kohl wrote:
> 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.

As I already suspected: private changes... :)

>
> Today we have a correction in our OS and can use qemu-kvm's
> default setting.

So I'm going to file a revert. Or does anyone feel strong about making
this configurable?

Jan

--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux