diff options
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r-- | arch/x86/kvm/svm.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 7a46c1f46861..d6713e18bbc1 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -3577,6 +3577,11 @@ static void svm_hwapic_isr_update(struct kvm *kvm, int isr) | |||
3577 | return; | 3577 | return; |
3578 | } | 3578 | } |
3579 | 3579 | ||
3580 | static void svm_sync_pir_to_irr(struct kvm_vcpu *vcpu) | ||
3581 | { | ||
3582 | return; | ||
3583 | } | ||
3584 | |||
3580 | static int svm_nmi_allowed(struct kvm_vcpu *vcpu) | 3585 | static int svm_nmi_allowed(struct kvm_vcpu *vcpu) |
3581 | { | 3586 | { |
3582 | struct vcpu_svm *svm = to_svm(vcpu); | 3587 | struct vcpu_svm *svm = to_svm(vcpu); |
@@ -4233,6 +4238,11 @@ out: | |||
4233 | return ret; | 4238 | return ret; |
4234 | } | 4239 | } |
4235 | 4240 | ||
4241 | static void svm_handle_external_intr(struct kvm_vcpu *vcpu) | ||
4242 | { | ||
4243 | local_irq_enable(); | ||
4244 | } | ||
4245 | |||
4236 | static struct kvm_x86_ops svm_x86_ops = { | 4246 | static struct kvm_x86_ops svm_x86_ops = { |
4237 | .cpu_has_kvm_support = has_svm, | 4247 | .cpu_has_kvm_support = has_svm, |
4238 | .disabled_by_bios = is_disabled, | 4248 | .disabled_by_bios = is_disabled, |
@@ -4300,6 +4310,7 @@ static struct kvm_x86_ops svm_x86_ops = { | |||
4300 | .vm_has_apicv = svm_vm_has_apicv, | 4310 | .vm_has_apicv = svm_vm_has_apicv, |
4301 | .load_eoi_exitmap = svm_load_eoi_exitmap, | 4311 | .load_eoi_exitmap = svm_load_eoi_exitmap, |
4302 | .hwapic_isr_update = svm_hwapic_isr_update, | 4312 | .hwapic_isr_update = svm_hwapic_isr_update, |
4313 | .sync_pir_to_irr = svm_sync_pir_to_irr, | ||
4303 | 4314 | ||
4304 | .set_tss_addr = svm_set_tss_addr, | 4315 | .set_tss_addr = svm_set_tss_addr, |
4305 | .get_tdp_level = get_npt_level, | 4316 | .get_tdp_level = get_npt_level, |
@@ -4328,6 +4339,7 @@ static struct kvm_x86_ops svm_x86_ops = { | |||
4328 | .set_tdp_cr3 = set_tdp_cr3, | 4339 | .set_tdp_cr3 = set_tdp_cr3, |
4329 | 4340 | ||
4330 | .check_intercept = svm_check_intercept, | 4341 | .check_intercept = svm_check_intercept, |
4342 | .handle_external_intr = svm_handle_external_intr, | ||
4331 | }; | 4343 | }; |
4332 | 4344 | ||
4333 | static int __init svm_init(void) | 4345 | static int __init svm_init(void) |