aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/kvm/x86.h')
-rw-r--r--drivers/kvm/x86.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/kvm/x86.h b/drivers/kvm/x86.h
index d3ac4e2b3a41..78396d627be0 100644
--- a/drivers/kvm/x86.h
+++ b/drivers/kvm/x86.h
@@ -220,8 +220,6 @@ struct kvm_x86_ops {
220 220
221 void (*tlb_flush)(struct kvm_vcpu *vcpu); 221 void (*tlb_flush)(struct kvm_vcpu *vcpu);
222 222
223 void (*inject_gp)(struct kvm_vcpu *vcpu, unsigned err_code);
224
225 void (*run)(struct kvm_vcpu *vcpu, struct kvm_run *run); 223 void (*run)(struct kvm_vcpu *vcpu, struct kvm_run *run);
226 int (*handle_exit)(struct kvm_run *run, struct kvm_vcpu *vcpu); 224 int (*handle_exit)(struct kvm_run *run, struct kvm_vcpu *vcpu);
227 void (*skip_emulated_instruction)(struct kvm_vcpu *vcpu); 225 void (*skip_emulated_instruction)(struct kvm_vcpu *vcpu);
@@ -467,6 +465,11 @@ static inline u32 get_rdx_init_val(void)
467 return 0x600; /* P6 family */ 465 return 0x600; /* P6 family */
468} 466}
469 467
468static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code)
469{
470 kvm_queue_exception_e(vcpu, GP_VECTOR, error_code);
471}
472
470#define ASM_VMX_VMCLEAR_RAX ".byte 0x66, 0x0f, 0xc7, 0x30" 473#define ASM_VMX_VMCLEAR_RAX ".byte 0x66, 0x0f, 0xc7, 0x30"
471#define ASM_VMX_VMLAUNCH ".byte 0x0f, 0x01, 0xc2" 474#define ASM_VMX_VMLAUNCH ".byte 0x0f, 0x01, 0xc2"
472#define ASM_VMX_VMRESUME ".byte 0x0f, 0x01, 0xc3" 475#define ASM_VMX_VMRESUME ".byte 0x0f, 0x01, 0xc3"