summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDor Laor <dor.laor@qumranet.com>2007-01-05 16:37:00 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2007-01-05 23:55:28 -0800
commit022a93080c269e913793bea3a9a7fed06ca7d29b (patch)
tree2d7306a5206bb4c9cc147b0b1ed06e211695be10
parent68a99f6d37aa65e848e09ec6ea52848e93bd5de2 (diff)
[PATCH] KVM: Simplify test for interrupt window
No need to test for rflags.if as both VT and SVM specs assure us that on exit caused from interrupt window opening, 'if' is set. Signed-off-by: Dor Laor <dor.laor@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/kvm/svm.c3
-rw-r--r--drivers/kvm/vmx.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
index af1e7b3f917..ccc06b1b91b 100644
--- a/drivers/kvm/svm.c
+++ b/drivers/kvm/svm.c
@@ -1206,8 +1206,7 @@ static int interrupt_window_interception(struct kvm_vcpu *vcpu,
* possible
*/
if (kvm_run->request_interrupt_window &&
- !vcpu->irq_summary &&
- (vcpu->svm->vmcb->save.rflags & X86_EFLAGS_IF)) {
+ !vcpu->irq_summary) {
++kvm_stat.irq_window_exits;
kvm_run->exit_reason = KVM_EXIT_IRQ_WINDOW_OPEN;
return 0;
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index e6ea76cdfdb..d4701cb4c65 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -1604,8 +1604,7 @@ static int handle_interrupt_window(struct kvm_vcpu *vcpu,
* possible
*/
if (kvm_run->request_interrupt_window &&
- !vcpu->irq_summary &&
- (vmcs_readl(GUEST_RFLAGS) & X86_EFLAGS_IF)) {
+ !vcpu->irq_summary) {
kvm_run->exit_reason = KVM_EXIT_IRQ_WINDOW_OPEN;
++kvm_stat.irq_window_exits;
return 0;