On Sun, Sep 06, 2009 at 09:34:38AM -0300, Glauber Costa wrote: > On Sun, Sep 6, 2009 at 5:50 AM, Gleb Natapov<gleb@xxxxxxxxxx> wrote: > > On Thu, Sep 03, 2009 at 07:41:00PM -0400, Glauber Costa wrote: > >> It is broken since main loop reorganization. (6185d8b6) > >> > > What is broken? Boots WindowsXp for me here. > > Fedora guests don't boot. > Which one? I tested F10 live cd and F11 beta (both 32 bit). They work fine here with userspace irq chip. > >> Problem is that we, the emulator, has nothing to do with the CPU flags. has_work() > >> should not depend on that at all. > > IF_MASK flags is set into env->eflags on each exit by function just > > above kvm_arch_has_work() and contains valid and relevant information. > > The check your are removing should be there. It ensures that interrupts > > are ignored if they are blocked by vcpu. > > > >> > >> Signed-off-by: Glauber Costa <glommer@xxxxxxxxxx> > >> CC: Gleb Natapov <gleb@xxxxxxxxxx> > >> --- > >> qemu-kvm-x86.c | 5 ++--- > >> 1 files changed, 2 insertions(+), 3 deletions(-) > >> > >> diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c > >> index f80d82b..66ed6b5 100644 > >> --- a/qemu-kvm-x86.c > >> +++ b/qemu-kvm-x86.c > >> @@ -1393,9 +1393,8 @@ void kvm_arch_post_kvm_run(void *opaque, CPUState *env) > >> > >> int kvm_arch_has_work(CPUState *env) > >> { > >> - if (((env->interrupt_request & CPU_INTERRUPT_HARD) && > >> - (env->eflags & IF_MASK)) || > >> - (env->interrupt_request & CPU_INTERRUPT_NMI)) > >> + if (((env->interrupt_request & CPU_INTERRUPT_HARD) || > >> + (env->interrupt_request & CPU_INTERRUPT_NMI))) > >> return 1; > >> return 0; > >> } > >> -- > >> 1.6.2.2 > > > > -- > > Gleb. > > -- > > To unsubscribe from this list: send the line "unsubscribe kvm" in > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > > > -- > Glauber Costa. > "Free as in Freedom" > http://glommer.net > > "The less confident you are, the more serious you have to act." -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html