Lines Matching refs:vaddr

138 			  uint64_t vaddr, int level)  in virt_get_pte()  argument
142 int index = (vaddr >> PG_LEVEL_SHIFT(level)) & 0x1ffu; in virt_get_pte()
146 level + 1, vaddr); in virt_get_pte()
153 uint64_t vaddr, in virt_create_upper_pte() argument
158 uint64_t *pte = virt_get_pte(vm, parent_pte, vaddr, current_level); in virt_create_upper_pte()
176 current_level, vaddr); in virt_create_upper_pte()
179 current_level, vaddr); in virt_create_upper_pte()
184 void __virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr, int level) in __virt_pg_map() argument
193 TEST_ASSERT((vaddr % pg_size) == 0, in __virt_pg_map()
195 "vaddr: 0x%lx page size: 0x%lx", vaddr, pg_size); in __virt_pg_map()
196 TEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (vaddr >> vm->page_shift)), in __virt_pg_map()
197 "Invalid virtual address, vaddr: 0x%lx", vaddr); in __virt_pg_map()
212 pml4e = virt_create_upper_pte(vm, &vm->pgd, vaddr, paddr, PG_LEVEL_512G, level); in __virt_pg_map()
216 pdpe = virt_create_upper_pte(vm, pml4e, vaddr, paddr, PG_LEVEL_1G, level); in __virt_pg_map()
220 pde = virt_create_upper_pte(vm, pdpe, vaddr, paddr, PG_LEVEL_2M, level); in __virt_pg_map()
225 pte = virt_get_pte(vm, pde, vaddr, PG_LEVEL_4K); in __virt_pg_map()
227 "PTE already present for 4k page at vaddr: 0x%lx", vaddr); in __virt_pg_map()
240 void virt_arch_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr) in virt_arch_pg_map() argument
242 __virt_pg_map(vm, vaddr, paddr, PG_LEVEL_4K); in virt_arch_pg_map()
245 void virt_map_level(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr, in virt_map_level() argument
257 __virt_pg_map(vm, vaddr, paddr, level); in virt_map_level()
259 vaddr += pg_size; in virt_map_level()
276 uint64_t *__vm_get_page_table_entry(struct kvm_vm *vm, uint64_t vaddr, in __vm_get_page_table_entry() argument
290 (vaddr >> vm->page_shift)), in __vm_get_page_table_entry()
292 vaddr); in __vm_get_page_table_entry()
297 TEST_ASSERT(vaddr == (((int64_t)vaddr << 16) >> 16), in __vm_get_page_table_entry()
300 pml4e = virt_get_pte(vm, &vm->pgd, vaddr, PG_LEVEL_512G); in __vm_get_page_table_entry()
304 pdpe = virt_get_pte(vm, pml4e, vaddr, PG_LEVEL_1G); in __vm_get_page_table_entry()
308 pde = virt_get_pte(vm, pdpe, vaddr, PG_LEVEL_2M); in __vm_get_page_table_entry()
312 return virt_get_pte(vm, pde, vaddr, PG_LEVEL_4K); in __vm_get_page_table_entry()
315 uint64_t *vm_get_page_table_entry(struct kvm_vm *vm, uint64_t vaddr) in vm_get_page_table_entry() argument
319 return __vm_get_page_table_entry(vm, vaddr, &level); in vm_get_page_table_entry()