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. >> 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." -- 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