Lines Matching refs:gva

210 			  u64 *parent_pte, gva_t gva, int level)  in virt_get_pte()  argument
214 int index = (gva >> PG_LEVEL_SHIFT(level)) & 0x1ffu; in virt_get_pte()
218 level + 1, gva); in virt_get_pte()
226 gva_t gva, in virt_create_upper_pte() argument
231 u64 *pte = virt_get_pte(vm, mmu, parent_pte, gva, current_level); in virt_create_upper_pte()
251 current_level, gva); in virt_create_upper_pte()
254 current_level, gva); in virt_create_upper_pte()
259 void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, gva_t gva, in __virt_pg_map() argument
269 TEST_ASSERT((gva % pg_size) == 0, in __virt_pg_map()
271 "gva: 0x%lx page size: 0x%lx", gva, pg_size); in __virt_pg_map()
272 TEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)), in __virt_pg_map()
273 "Invalid virtual address, gva: 0x%lx", gva); in __virt_pg_map()
294 pte = virt_create_upper_pte(vm, mmu, pte, gva, gpa, in __virt_pg_map()
301 pte = virt_get_pte(vm, mmu, pte, gva, PG_LEVEL_4K); in __virt_pg_map()
303 "PTE already present for 4k page at gva: 0x%lx", gva); in __virt_pg_map()
318 void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa) in virt_arch_pg_map() argument
320 __virt_pg_map(vm, &vm->mmu, gva, gpa, PG_LEVEL_4K); in virt_arch_pg_map()
323 void virt_map_level(struct kvm_vm *vm, gva_t gva, gpa_t gpa, in virt_map_level() argument
335 __virt_pg_map(vm, &vm->mmu, gva, gpa, level); in virt_map_level()
336 sparsebit_set_num(vm->vpages_mapped, gva >> vm->page_shift, in virt_map_level()
339 gva += pg_size; in virt_map_level()
359 gva_t gva, in __vm_get_page_table_entry() argument
374 TEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)), in __vm_get_page_table_entry()
375 "Invalid virtual address, gva: 0x%lx", gva); in __vm_get_page_table_entry()
379 TEST_ASSERT(gva == (((s64)gva << (64 - va_width) >> (64 - va_width))), in __vm_get_page_table_entry()
385 pte = virt_get_pte(vm, mmu, pte, gva, current_level); in __vm_get_page_table_entry()
390 return virt_get_pte(vm, mmu, pte, gva, PG_LEVEL_4K); in __vm_get_page_table_entry()
400 u64 *vm_get_pte(struct kvm_vm *vm, gva_t gva) in vm_get_pte() argument
404 return __vm_get_page_table_entry(vm, &vm->mmu, gva, &level); in vm_get_pte()
616 gpa_t addr_arch_gva2gpa(struct kvm_vm *vm, gva_t gva) in addr_arch_gva2gpa() argument
619 u64 *pte = __vm_get_page_table_entry(vm, &vm->mmu, gva, &level); in addr_arch_gva2gpa()
622 "Leaf PTE not PRESENT for gva: 0x%08lx", gva); in addr_arch_gva2gpa()
628 return vm_untag_gpa(vm, PTE_GET_PA(*pte)) | (gva & ~HUGEPAGE_MASK(level)); in addr_arch_gva2gpa()