Lines Matching defs:gva
24 static uint64_t pgd_index(struct kvm_vm *vm, vm_vaddr_t gva)
29 return (gva >> shift) & mask;
32 static uint64_t pud_index(struct kvm_vm *vm, vm_vaddr_t gva)
40 return (gva >> shift) & mask;
43 static uint64_t pmd_index(struct kvm_vm *vm, vm_vaddr_t gva)
51 return (gva >> shift) & mask;
54 static uint64_t pte_index(struct kvm_vm *vm, vm_vaddr_t gva)
57 return (gva >> vm->page_shift) & mask;
184 uint64_t *virt_get_pte_hva_at_level(struct kvm_vm *vm, vm_vaddr_t gva, int level)
191 ptep = addr_gpa2hva(vm, vm->mmu.pgd) + pgd_index(vm, gva) * 8;
199 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pud_index(vm, gva) * 8;
206 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pmd_index(vm, gva) * 8;
213 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pte_index(vm, gva) * 8;
224 TEST_FAIL("No mapping for vm virtual address, gva: 0x%lx", gva);
228 uint64_t *virt_get_pte_hva(struct kvm_vm *vm, vm_vaddr_t gva)
230 return virt_get_pte_hva_at_level(vm, gva, 3);
233 vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
235 uint64_t *ptep = virt_get_pte_hva(vm, gva);
237 return pte_addr(vm, *ptep) + (gva & (vm->page_size - 1));