aboutsummaryrefslogtreecommitdiffstats
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
parent[PATCH] KVM: Simplify mmu_alloc_roots() (diff)
downloadlinux-dev-022a93080c269e913793bea3a9a7fed06ca7d29b.tar.xz
linux-dev-022a93080c269e913793bea3a9a7fed06ca7d29b.zip
[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 af1e7b3f9171..ccc06b1b91b5 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 e6ea76cdfdbd..d4701cb4c654 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;