diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2010-02-02 01:05:22 -0700 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-02-02 01:05:22 -0700 |
commit | fb7899b1f0b748ef966071f5dc23c59ebd57d08f (patch) | |
tree | 2f13f9d8607871a60334608524e8b4e9447f5309 /arch/x86/kvm/lapic.c | |
parent | 212b3c8b8ab94d983c2e0ee1821f17dd5b4e0859 (diff) | |
parent | abe94c756c08d50566c09a65b9c7fe72f83071c5 (diff) |
Merge commit 'v2.6.33-rc6' into secretlab/next-spi
Diffstat (limited to 'arch/x86/kvm/lapic.c')
-rw-r--r-- | arch/x86/kvm/lapic.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 3063a0c4858b..ba8c045da782 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -373,6 +373,12 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, if (unlikely(!apic_enabled(apic))) break; + if (trig_mode) { + apic_debug("level trig mode for vector %d", vector); + apic_set_vector(vector, apic->regs + APIC_TMR); + } else + apic_clear_vector(vector, apic->regs + APIC_TMR); + result = !apic_test_and_set_irr(vector, apic); trace_kvm_apic_accept_irq(vcpu->vcpu_id, delivery_mode, trig_mode, vector, !result); @@ -383,11 +389,6 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, break; } - if (trig_mode) { - apic_debug("level trig mode for vector %d", vector); - apic_set_vector(vector, apic->regs + APIC_TMR); - } else - apic_clear_vector(vector, apic->regs + APIC_TMR); kvm_vcpu_kick(vcpu); break; |