qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] KVM: Windows 64-bit troubles with user space irqchip


From: Avi Kivity
Subject: Re: [Qemu-devel] KVM: Windows 64-bit troubles with user space irqchip
Date: Sun, 06 Feb 2011 12:26:40 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Thunderbird/3.1.7

On 02/03/2011 04:15 PM, Gleb Natapov wrote:
>
>  Maybe this is true for the in-kernel model, but I don't see the issue
>  (anymore) for the way user space works.
>
With patch below I can boot Windows7.

diff --git a/hw/apic.c b/hw/apic.c
index 146deca..fdcac88 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -600,7 +600,7 @@ int apic_get_interrupt(DeviceState *d)
      intno = get_highest_priority_int(s->irr);
      if (intno<  0)
          return -1;
-    if (s->tpr&&  intno<= s->tpr)
+    if ((s->tpr>>  4)&&  (intno>>  4)<= (s->tpr>>  4))
          return s->spurious_vec&  0xff;
      reset_bit(s->irr, intno);
      set_bit(s->isr, intno);

That still allows interrupts that have higher priority than the TPR, but lower priority than interrupts in the ISR to be injected. I think we need to use the PPR here (same as apic_update_irq()).

--
error compiling committee.c: too many arguments to function




reply via email to

[Prev in Thread] Current Thread [Next in Thread]