mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
KVM: selftests: Remove unused kvm_memcmp_hva_gva()
Remove sefltests' kvm_memcmp_hva_gva(), which has literally never had a
single user since it was introduced by commit 783e9e5126 ("kvm:
selftests: add API testing infrastructure").
Link: https://lore.kernel.org/r/20240802200853.336512-1-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
d8414067cc
commit
ce3b90bd0a
|
|
@ -428,8 +428,6 @@ const char *vm_guest_mode_string(uint32_t i);
|
|||
void kvm_vm_free(struct kvm_vm *vmp);
|
||||
void kvm_vm_restart(struct kvm_vm *vmp);
|
||||
void kvm_vm_release(struct kvm_vm *vmp);
|
||||
int kvm_memcmp_hva_gva(void *hva, struct kvm_vm *vm, const vm_vaddr_t gva,
|
||||
size_t len);
|
||||
void kvm_vm_elf_load(struct kvm_vm *vm, const char *filename);
|
||||
int kvm_memfd_alloc(size_t size, bool hugepages);
|
||||
|
||||
|
|
|
|||
|
|
@ -794,76 +794,6 @@ int kvm_memfd_alloc(size_t size, bool hugepages)
|
|||
return fd;
|
||||
}
|
||||
|
||||
/*
|
||||
* Memory Compare, host virtual to guest virtual
|
||||
*
|
||||
* Input Args:
|
||||
* hva - Starting host virtual address
|
||||
* vm - Virtual Machine
|
||||
* gva - Starting guest virtual address
|
||||
* len - number of bytes to compare
|
||||
*
|
||||
* Output Args: None
|
||||
*
|
||||
* Input/Output Args: None
|
||||
*
|
||||
* Return:
|
||||
* Returns 0 if the bytes starting at hva for a length of len
|
||||
* are equal the guest virtual bytes starting at gva. Returns
|
||||
* a value < 0, if bytes at hva are less than those at gva.
|
||||
* Otherwise a value > 0 is returned.
|
||||
*
|
||||
* Compares the bytes starting at the host virtual address hva, for
|
||||
* a length of len, to the guest bytes starting at the guest virtual
|
||||
* address given by gva.
|
||||
*/
|
||||
int kvm_memcmp_hva_gva(void *hva, struct kvm_vm *vm, vm_vaddr_t gva, size_t len)
|
||||
{
|
||||
size_t amt;
|
||||
|
||||
/*
|
||||
* Compare a batch of bytes until either a match is found
|
||||
* or all the bytes have been compared.
|
||||
*/
|
||||
for (uintptr_t offset = 0; offset < len; offset += amt) {
|
||||
uintptr_t ptr1 = (uintptr_t)hva + offset;
|
||||
|
||||
/*
|
||||
* Determine host address for guest virtual address
|
||||
* at offset.
|
||||
*/
|
||||
uintptr_t ptr2 = (uintptr_t)addr_gva2hva(vm, gva + offset);
|
||||
|
||||
/*
|
||||
* Determine amount to compare on this pass.
|
||||
* Don't allow the comparsion to cross a page boundary.
|
||||
*/
|
||||
amt = len - offset;
|
||||
if ((ptr1 >> vm->page_shift) != ((ptr1 + amt) >> vm->page_shift))
|
||||
amt = vm->page_size - (ptr1 % vm->page_size);
|
||||
if ((ptr2 >> vm->page_shift) != ((ptr2 + amt) >> vm->page_shift))
|
||||
amt = vm->page_size - (ptr2 % vm->page_size);
|
||||
|
||||
assert((ptr1 >> vm->page_shift) == ((ptr1 + amt - 1) >> vm->page_shift));
|
||||
assert((ptr2 >> vm->page_shift) == ((ptr2 + amt - 1) >> vm->page_shift));
|
||||
|
||||
/*
|
||||
* Perform the comparison. If there is a difference
|
||||
* return that result to the caller, otherwise need
|
||||
* to continue on looking for a mismatch.
|
||||
*/
|
||||
int ret = memcmp((void *)ptr1, (void *)ptr2, amt);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* No mismatch found. Let the caller know the two memory
|
||||
* areas are equal.
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void vm_userspace_mem_region_gpa_insert(struct rb_root *gpa_tree,
|
||||
struct userspace_mem_region *region)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user