Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 937a7eae authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Add a pending interrupt queue



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: default avatarAvi Kivity <avi@qumranet.com>
parent 35920a35
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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
+5 −0
Original line number Diff line number Diff line
@@ -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;