From 091d1c38cb5ff8a3e6c63300ed19a41a224fa42f Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Thu, 21 Apr 2011 12:35:41 +0300 Subject: [PATCH] --- yaml --- r: 248075 b: refs/heads/master c: 40e19b519caeb93def89c45082d776fccfb96dbb h: refs/heads/master i: 248073: 1b50be572ca2890f27a3814fca47a1ac4b948505 248071: 7436db470e71012399d92e8c4b157a137daab348 v: v3 --- [refs] | 2 +- trunk/arch/x86/include/asm/kvm_emulate.h | 1 + trunk/arch/x86/kvm/svm.c | 12 ++++-------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 2014f3273b70..a1aadeeab3c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ef39c71d8398115245a5974b488f8703ba3a6b0 +refs/heads/master: 40e19b519caeb93def89c45082d776fccfb96dbb diff --git a/trunk/arch/x86/include/asm/kvm_emulate.h b/trunk/arch/x86/include/asm/kvm_emulate.h index 127ea3e17171..28114f581fa3 100644 --- a/trunk/arch/x86/include/asm/kvm_emulate.h +++ b/trunk/arch/x86/include/asm/kvm_emulate.h @@ -304,6 +304,7 @@ struct x86_emulate_ctxt { X86EMUL_MODE_PROT64) enum x86_intercept_stage { + X86_ICTP_NONE = 0, /* Allow zero-init to not match anything */ X86_ICPT_PRE_EXCEPT, X86_ICPT_POST_EXCEPT, X86_ICPT_POST_MEMACCESS, diff --git a/trunk/arch/x86/kvm/svm.c b/trunk/arch/x86/kvm/svm.c index de4bba99160d..9cff0368e1fc 100644 --- a/trunk/arch/x86/kvm/svm.c +++ b/trunk/arch/x86/kvm/svm.c @@ -3959,19 +3959,15 @@ static void svm_fpu_deactivate(struct kvm_vcpu *vcpu) } #define PRE_EX(exit) { .exit_code = (exit), \ - .stage = X86_ICPT_PRE_EXCEPT, \ - .valid = true } + .stage = X86_ICPT_PRE_EXCEPT, } #define POST_EX(exit) { .exit_code = (exit), \ - .stage = X86_ICPT_POST_EXCEPT, \ - .valid = true } + .stage = X86_ICPT_POST_EXCEPT, } #define POST_MEM(exit) { .exit_code = (exit), \ - .stage = X86_ICPT_POST_MEMACCESS, \ - .valid = true } + .stage = X86_ICPT_POST_MEMACCESS, } static struct __x86_intercept { u32 exit_code; enum x86_intercept_stage stage; - bool valid; } x86_intercept_map[] = { [x86_intercept_cr_read] = POST_EX(SVM_EXIT_READ_CR0), [x86_intercept_cr_write] = POST_EX(SVM_EXIT_WRITE_CR0), @@ -4039,7 +4035,7 @@ static int svm_check_intercept(struct kvm_vcpu *vcpu, icpt_info = x86_intercept_map[info->intercept]; - if (!icpt_info.valid || stage != icpt_info.stage) + if (stage != icpt_info.stage) goto out; switch (icpt_info.exit_code) {