mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
KVM: x86/mmu: Collapse kvm_flush_remote_tlbs_with_{range,address}() together
Collapse kvm_flush_remote_tlbs_with_range() and kvm_flush_remote_tlbs_with_address() into a single function. This eliminates some lines of code and a useless NULL check on the range struct. Opportunistically switch from ENOTSUPP to EOPNOTSUPP to make checkpatch happy. Signed-off-by: David Matlack <dmatlack@google.com> Link: https://lore.kernel.org/r/20230126184025.2294823-4-dmatlack@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
141705b783
commit
28e4b4597d
@ -261,27 +261,20 @@ static inline bool kvm_available_flush_tlb_with_range(void)
|
||||
return kvm_x86_ops.tlb_remote_flush_with_range;
|
||||
}
|
||||
|
||||
static void kvm_flush_remote_tlbs_with_range(struct kvm *kvm,
|
||||
struct kvm_tlb_range *range)
|
||||
{
|
||||
int ret = -ENOTSUPP;
|
||||
|
||||
if (range && kvm_x86_ops.tlb_remote_flush_with_range)
|
||||
ret = static_call(kvm_x86_tlb_remote_flush_with_range)(kvm, range);
|
||||
|
||||
if (ret)
|
||||
kvm_flush_remote_tlbs(kvm);
|
||||
}
|
||||
|
||||
void kvm_flush_remote_tlbs_with_address(struct kvm *kvm,
|
||||
u64 start_gfn, u64 pages)
|
||||
{
|
||||
struct kvm_tlb_range range;
|
||||
int ret = -EOPNOTSUPP;
|
||||
|
||||
range.start_gfn = start_gfn;
|
||||
range.pages = pages;
|
||||
|
||||
kvm_flush_remote_tlbs_with_range(kvm, &range);
|
||||
if (kvm_x86_ops.tlb_remote_flush_with_range)
|
||||
ret = static_call(kvm_x86_tlb_remote_flush_with_range)(kvm, &range);
|
||||
|
||||
if (ret)
|
||||
kvm_flush_remote_tlbs(kvm);
|
||||
}
|
||||
|
||||
static gfn_t kvm_mmu_page_get_gfn(struct kvm_mmu_page *sp, int index);
|
||||
|
Loading…
Reference in New Issue
Block a user