diff options
author | Sean Christopherson <seanjc@google.com> | 2024-01-23 02:54:02 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-04-12 11:42:23 +0300 |
commit | e913ef159fad39dfe0b1a5f73e6b0a9c9ece2c1d (patch) | |
tree | 2fd8e4cdb696c1a5c400e49853b0354ada7eee43 /arch/x86/include | |
parent | f9cecb3c50eb9534cb82dafbd19de30efb73416c (diff) | |
download | linux-e913ef159fad39dfe0b1a5f73e6b0a9c9ece2c1d.tar.xz |
KVM: x86: Split core of hypercall emulation to helper function
By necessity, TDX will use a different register ABI for hypercalls.
Break out the core functionality so that it may be reused for TDX.
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Message-Id: <5134caa55ac3dec33fb2addb5545b52b3b52db02.1705965635.git.isaku.yamahata@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 3d56b5bb10e9..01c69840647e 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -2142,6 +2142,10 @@ static inline void kvm_clear_apicv_inhibit(struct kvm *kvm, kvm_set_or_clear_apicv_inhibit(kvm, reason, false); } +unsigned long __kvm_emulate_hypercall(struct kvm_vcpu *vcpu, unsigned long nr, + unsigned long a0, unsigned long a1, + unsigned long a2, unsigned long a3, + int op_64_bit, int cpl); int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code, |