瀏覽代碼

KVM: x86 emulator: drop vcpu argument from intercept callback

Making the emulator caller agnostic.

Signed-off-by: Avi Kivity <avi@redhat.com>
Avi Kivity 14 年之前
父節點
當前提交
2953538ebb
共有 3 個文件被更改,包括 4 次插入4 次删除
  1. 1 1
      arch/x86/include/asm/kvm_emulate.h
  2. 1 1
      arch/x86/kvm/emulate.c
  3. 2 2
      arch/x86/kvm/x86.c

+ 1 - 1
arch/x86/include/asm/kvm_emulate.h

@@ -185,7 +185,7 @@ struct x86_emulate_ops {
 	int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
 	void (*get_fpu)(struct x86_emulate_ctxt *ctxt); /* disables preempt */
 	void (*put_fpu)(struct x86_emulate_ctxt *ctxt); /* reenables preempt */
-	int (*intercept)(struct kvm_vcpu *vcpu,
+	int (*intercept)(struct x86_emulate_ctxt *ctxt,
 			 struct x86_instruction_info *info,
 			 enum x86_intercept_stage stage);
 };

+ 1 - 1
arch/x86/kvm/emulate.c

@@ -438,7 +438,7 @@ static int emulator_check_intercept(struct x86_emulate_ctxt *ctxt,
 		.next_rip   = ctxt->eip,
 	};
 
-	return ctxt->ops->intercept(ctxt->vcpu, &info, stage);
+	return ctxt->ops->intercept(ctxt, &info, stage);
 }
 
 static inline unsigned long ad_mask(struct decode_cache *c)

+ 2 - 2
arch/x86/kvm/x86.c

@@ -4365,11 +4365,11 @@ static void emulator_put_fpu(struct x86_emulate_ctxt *ctxt)
 	preempt_enable();
 }
 
-static int emulator_intercept(struct kvm_vcpu *vcpu,
+static int emulator_intercept(struct x86_emulate_ctxt *ctxt,
 			      struct x86_instruction_info *info,
 			      enum x86_intercept_stage stage)
 {
-	return kvm_x86_ops->check_intercept(vcpu, info, stage);
+	return kvm_x86_ops->check_intercept(emul_to_vcpu(ctxt), info, stage);
 }
 
 static struct x86_emulate_ops emulate_ops = {