KVM: Add a pending interrupt queue
authorAvi Kivity <avi@qumranet.com>
Thu, 3 Jul 2008 12:17:01 +0000 (15:17 +0300)
committerAvi Kivity <avi@qumranet.com>
Wed, 15 Oct 2008 08:15:13 +0000 (10:15 +0200)
Similar to the exception queue, this hold interrupts that have been
accepted by the virtual processor core but not yet injected.

Not yet used.

Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/x86/kvm/x86.h
include/asm-x86/kvm_host.h

index c666649..6a4be78 100644 (file)
@@ -8,4 +8,15 @@ static inline void kvm_clear_exception_queue(struct kvm_vcpu *vcpu)
        vcpu->arch.exception.pending = false;
 }
 
+static inline void kvm_queue_interrupt(struct kvm_vcpu *vcpu, u8 vector)
+{
+       vcpu->arch.interrupt.pending = true;
+       vcpu->arch.interrupt.nr = vector;
+}
+
+static inline void kvm_clear_interrupt_queue(struct kvm_vcpu *vcpu)
+{
+       vcpu->arch.interrupt.pending = false;
+}
+
 #endif
index 7cf69fd..65c6a0e 100644 (file)
@@ -275,6 +275,11 @@ struct kvm_vcpu_arch {
                u32 error_code;
        } exception;
 
+       struct kvm_queued_interrupt {
+               bool pending;
+               u8 nr;
+       } interrupt;
+
        struct {
                int active;
                u8 save_iopl;