[PATCH] KVM: SVM: Get rid of x86_intercept_map::valid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



By reserving 0 as an invalid x86_intercept_stage, we no longer
need to store a valid flag in x86_intercept_map.

Signed-off-by: Avi Kivity <avi@xxxxxxxxxx>
---
 arch/x86/include/asm/kvm_emulate.h |    1 +
 arch/x86/kvm/svm.c                 |   12 ++++--------
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/arch/x86/include/asm/kvm_emulate.h b/arch/x86/include/asm/kvm_emulate.h
index 127ea3e..28114f5 100644
--- a/arch/x86/include/asm/kvm_emulate.h
+++ b/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/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index de4bba9..9cff036 100644
--- a/arch/x86/kvm/svm.c
+++ b/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) {
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux