Linux 2.6.31.6
[linux/fpc-iii.git] / arch / x86 / kvm / x86.h
blob4c8e10af78e88004acc1dd9df3c2fd2fa36cd85c
1 #ifndef ARCH_X86_KVM_X86_H
2 #define ARCH_X86_KVM_X86_H
4 #include <linux/kvm_host.h>
6 static inline void kvm_clear_exception_queue(struct kvm_vcpu *vcpu)
8 vcpu->arch.exception.pending = false;
11 static inline void kvm_queue_interrupt(struct kvm_vcpu *vcpu, u8 vector,
12 bool soft)
14 vcpu->arch.interrupt.pending = true;
15 vcpu->arch.interrupt.soft = soft;
16 vcpu->arch.interrupt.nr = vector;
19 static inline void kvm_clear_interrupt_queue(struct kvm_vcpu *vcpu)
21 vcpu->arch.interrupt.pending = false;
24 static inline bool kvm_event_needs_reinjection(struct kvm_vcpu *vcpu)
26 return vcpu->arch.exception.pending || vcpu->arch.interrupt.pending ||
27 vcpu->arch.nmi_injected;
30 static inline bool kvm_exception_is_soft(unsigned int nr)
32 return (nr == BP_VECTOR) || (nr == OF_VECTOR);
34 #endif