1b0c9c25eSVitaly Kuznetsov // SPDX-License-Identifier: GPL-2.0-only 2b0c9c25eSVitaly Kuznetsov /* 3b0c9c25eSVitaly Kuznetsov * AMD SVM specific code for Hyper-V on KVM. 4b0c9c25eSVitaly Kuznetsov * 5b0c9c25eSVitaly Kuznetsov * Copyright 2022 Red Hat, Inc. and/or its affiliates. 6b0c9c25eSVitaly Kuznetsov */ 7b0c9c25eSVitaly Kuznetsov #include "hyperv.h" 8b0c9c25eSVitaly Kuznetsov svm_hv_inject_synthetic_vmexit_post_tlb_flush(struct kvm_vcpu * vcpu)9b0c9c25eSVitaly Kuznetsovvoid svm_hv_inject_synthetic_vmexit_post_tlb_flush(struct kvm_vcpu *vcpu) 10b0c9c25eSVitaly Kuznetsov { 11*3f4a812eSVitaly Kuznetsov struct vcpu_svm *svm = to_svm(vcpu); 12*3f4a812eSVitaly Kuznetsov 13*3f4a812eSVitaly Kuznetsov svm->vmcb->control.exit_code = HV_SVM_EXITCODE_ENL; 14*3f4a812eSVitaly Kuznetsov svm->vmcb->control.exit_code_hi = 0; 15*3f4a812eSVitaly Kuznetsov svm->vmcb->control.exit_info_1 = HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH; 16*3f4a812eSVitaly Kuznetsov svm->vmcb->control.exit_info_2 = 0; 17*3f4a812eSVitaly Kuznetsov nested_svm_vmexit(svm); 18b0c9c25eSVitaly Kuznetsov } 19