diff options
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r-- | arch/x86/kvm/x86.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 8af49b3df675..2246cf1a4ee0 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -4351,6 +4351,11 @@ static int emulator_set_msr(struct x86_emulate_ctxt *ctxt, | |||
4351 | return kvm_set_msr(emul_to_vcpu(ctxt), msr_index, data); | 4351 | return kvm_set_msr(emul_to_vcpu(ctxt), msr_index, data); |
4352 | } | 4352 | } |
4353 | 4353 | ||
4354 | static void emulator_halt(struct x86_emulate_ctxt *ctxt) | ||
4355 | { | ||
4356 | emul_to_vcpu(ctxt)->arch.halt_request = 1; | ||
4357 | } | ||
4358 | |||
4354 | static void emulator_get_fpu(struct x86_emulate_ctxt *ctxt) | 4359 | static void emulator_get_fpu(struct x86_emulate_ctxt *ctxt) |
4355 | { | 4360 | { |
4356 | preempt_disable(); | 4361 | preempt_disable(); |
@@ -4400,6 +4405,7 @@ static struct x86_emulate_ops emulate_ops = { | |||
4400 | .set_dr = emulator_set_dr, | 4405 | .set_dr = emulator_set_dr, |
4401 | .set_msr = emulator_set_msr, | 4406 | .set_msr = emulator_set_msr, |
4402 | .get_msr = emulator_get_msr, | 4407 | .get_msr = emulator_get_msr, |
4408 | .halt = emulator_halt, | ||
4403 | .get_fpu = emulator_get_fpu, | 4409 | .get_fpu = emulator_get_fpu, |
4404 | .put_fpu = emulator_put_fpu, | 4410 | .put_fpu = emulator_put_fpu, |
4405 | .intercept = emulator_intercept, | 4411 | .intercept = emulator_intercept, |