Home
last modified time | relevance | path

Searched refs:gva (Results 1 – 25 of 36) sorted by relevance

12

/linux/tools/testing/selftests/kvm/lib/s390/
H A Dprocessor.c50 void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa) in virt_arch_pg_map() argument
55 TEST_ASSERT((gva % vm->page_size) == 0, in virt_arch_pg_map()
58 gva, vm->page_size); in virt_arch_pg_map()
59 TEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)), in virt_arch_pg_map()
60 "Invalid virtual address, gva: 0x%lx", gva); in virt_arch_pg_map()
64 gva, vm->page_size); in virt_arch_pg_map()
68 gva, vm->max_gfn, vm->page_size); in virt_arch_pg_map()
73 idx = (gva >> (64 - 11 * ri)) & 0x7ffu; in virt_arch_pg_map()
80 idx = (gva >> PAGE_SHIFT) & 0x0ffu; /* page index */ in virt_arch_pg_map()
87 gpa_t addr_arch_gva2gpa(struct kvm_vm *vm, gva_t gva) in addr_arch_gva2gpa() argument
[all …]
/linux/tools/testing/selftests/kvm/lib/arm64/
H A Dprocessor.c24 static u64 pgd_index(struct kvm_vm *vm, gva_t gva) in pgd_index() argument
29 return (gva >> shift) & mask; in pgd_index()
32 static u64 pud_index(struct kvm_vm *vm, gva_t gva) in pud_index() argument
40 return (gva >> shift) & mask; in pud_index()
43 static u64 pmd_index(struct kvm_vm *vm, gva_t gva) in pmd_index() argument
51 return (gva >> shift) & mask; in pmd_index()
54 static u64 pte_index(struct kvm_vm *vm, gva_t gva) in pte_index() argument
57 return (gva >> vm->page_shift) & mask; in pte_index()
124 static void _virt_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa, in _virt_pg_map() argument
131 TEST_ASSERT((gva % vm->page_size) == 0, in _virt_pg_map()
[all …]
/linux/tools/testing/selftests/kvm/lib/loongarch/
H A Dprocessor.c18 static u64 virt_pte_index(struct kvm_vm *vm, gva_t gva, int level) in virt_pte_index() argument
25 return (gva >> shift) & mask; in virt_pte_index()
75 static u64 *virt_populate_pte(struct kvm_vm *vm, gva_t gva, int alloc) in virt_populate_pte() argument
87 ptep = addr_gpa2hva(vm, child) + virt_pte_index(vm, gva, level) * 8; in virt_populate_pte()
101 ptep = addr_gpa2hva(vm, child) + virt_pte_index(vm, gva, level) * 8; in virt_populate_pte()
105 TEST_FAIL("No mapping for vm virtual address, gva: 0x%lx", gva); in virt_populate_pte()
109 gpa_t addr_arch_gva2gpa(struct kvm_vm *vm, gva_t gva) in addr_arch_gva2gpa() argument
113 ptep = virt_populate_pte(vm, gva, 0); in addr_arch_gva2gpa()
114 TEST_ASSERT(*ptep != 0, "Virtual address gva: 0x%lx not mapped\n", gva); in addr_arch_gva2gpa()
116 return pte_addr(vm, *ptep) + (gva & (vm->page_size - 1)); in addr_arch_gva2gpa()
[all …]
/linux/arch/riscv/kvm/
H A Dtlb.c82 unsigned long gva, in kvm_riscv_local_hfence_vvma_asid_gva() argument
97 for (pos = gva; pos < (gva + gvsz); pos += BIT(order)) in kvm_riscv_local_hfence_vvma_asid_gva()
102 for (pos = gva; pos < (gva + gvsz); pos += BIT(order)) in kvm_riscv_local_hfence_vvma_asid_gva()
123 unsigned long gva, unsigned long gvsz, in kvm_riscv_local_hfence_vvma_gva() argument
137 for (pos = gva; pos < (gva + gvsz); pos += BIT(order)) in kvm_riscv_local_hfence_vvma_gva()
142 for (pos = gva; pos < (gva + gvsz); pos += BIT(order)) in kvm_riscv_local_hfence_vvma_gva()
403 unsigned long gva, unsigned long gvsz, in kvm_riscv_hfence_vvma_asid_gva() argument
412 data.addr = gva; in kvm_riscv_hfence_vvma_asid_gva()
434 unsigned long gva, unsigned long gvsz, in kvm_riscv_hfence_vvma_gva() argument
442 data.addr = gva; in kvm_riscv_hfence_vvma_gva()
/linux/tools/testing/selftests/kvm/lib/x86/
H A Dprocessor.c210 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()
[all …]
/linux/arch/riscv/include/asm/
H A Dkvm_tlb.h43 unsigned long gva,
49 unsigned long gva, unsigned long gvsz,
71 unsigned long gva, unsigned long gvsz,
79 unsigned long gva, unsigned long gvsz,
/linux/tools/testing/selftests/kvm/x86/
H A Dnested_dirty_log_test.c146 gva_t gva = arg & ~(PAGE_SIZE - 1); in test_handle_ucall_sync() local
159 if (!gva) in test_handle_ucall_sync()
161 else if (gva >= TEST_MEM_ALIAS_BASE) in test_handle_ucall_sync()
162 page_nr = (gva - TEST_MEM_ALIAS_BASE) >> PAGE_SHIFT; in test_handle_ucall_sync()
164 page_nr = (gva - TEST_MEM_BASE) >> PAGE_SHIFT; in test_handle_ucall_sync()
167 TEST_ASSERT(gva || (arg & TEST_SYNC_NO_FAULT), in test_handle_ucall_sync()
H A Dsev_smoke_test.c111 gva_t gva; in test_sync_vmsa() local
118 gva = vm_alloc_shared(vm, PAGE_SIZE, KVM_UTIL_MIN_VADDR, in test_sync_vmsa()
120 hva = addr_gva2hva(vm, gva); in test_sync_vmsa()
122 vcpu_args_set(vcpu, 1, gva); in test_sync_vmsa()
H A Dcpuid_test.c146 gva_t gva = vm_alloc(vm, size, KVM_UTIL_MIN_VADDR); in vcpu_alloc_cpuid() local
147 struct kvm_cpuid2 *guest_cpuids = addr_gva2hva(vm, gva); in vcpu_alloc_cpuid()
151 *p_gva = gva; in vcpu_alloc_cpuid()
H A Dhyperv_tlb_flush.c584 gva_t test_data_page, gva; in main() local
620 gva = vm_unused_gva_gap(vm, NTEST_PAGES * PAGE_SIZE, KVM_UTIL_MIN_VADDR); in main()
624 virt_pg_map(vm, gva + PAGE_SIZE * i, gpa & PAGE_MASK); in main()
625 data->test_pages_pte[i] = gva + (gpa & ~PAGE_MASK); in main()
/linux/tools/testing/selftests/kvm/lib/riscv/
H A Dprocessor.c55 static u64 pte_index(struct kvm_vm *vm, gva_t gva, int level) in pte_index() argument
62 return (gva & pte_index_mask[level]) >> pte_index_shift[level]; in pte_index()
78 void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa) in virt_arch_pg_map() argument
83 TEST_ASSERT((gva % vm->page_size) == 0, in virt_arch_pg_map()
85 " gva: 0x%lx vm->page_size: 0x%x", gva, vm->page_size); in virt_arch_pg_map()
86 TEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)), in virt_arch_pg_map()
87 "Invalid virtual address, gva: 0x%lx", gva); in virt_arch_pg_map()
96 ptep = addr_gpa2hva(vm, vm->mmu.pgd) + pte_index(vm, gva, level) * 8; in virt_arch_pg_map()
106 pte_index(vm, gva, level) * 8; in virt_arch_pg_map()
121 gpa_t addr_arch_gva2gpa(struct kvm_vm *vm, gva_t gva) in addr_arch_gva2gpa() argument
[all …]
/linux/tools/testing/selftests/kvm/lib/
H A Delf.c165 gva_t gva = __vm_alloc(vm, seg_size, seg_vstart, MEM_REGION_CODE); in kvm_vm_elf_load() local
166 TEST_ASSERT(gva == seg_vstart, "Unable to allocate " in kvm_vm_elf_load()
171 n1, seg_vstart, gva); in kvm_vm_elf_load()
172 memset(addr_gva2hva(vm, gva), 0, seg_size); in kvm_vm_elf_load()
H A Ducall_common.c32 gva_t gva; in ucall_init() local
35 gva = vm_alloc_shared(vm, sizeof(*hdr), KVM_UTIL_MIN_VADDR, in ucall_init()
37 hdr = (struct ucall_header *)addr_gva2hva(vm, gva); in ucall_init()
45 write_guest_global(vm, ucall_pool, (struct ucall_header *)gva); in ucall_init()
H A Dmemstress.c52 gva_t gva; in memstress_guest_code() local
60 gva = vcpu_args->gva; in memstress_guest_code()
76 addr = gva + (page * args->guest_page_size); in memstress_guest_code()
104 vcpu_args->gva = guest_test_virt_mem + in memstress_setup_vcpus()
110 vcpu_args->gva = guest_test_virt_mem; in memstress_setup_vcpus()
H A Dkvm_util.c1456 for (gva_t gva = gva_start; pages > 0; in ____vm_alloc() local
1457 pages--, gva += vm->page_size, gpa += vm->page_size) { in ____vm_alloc()
1459 virt_pg_map(vm, gva, gpa); in ____vm_alloc()
1511 void virt_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa, unsigned int npages) in virt_map() argument
1516 TEST_ASSERT(gva + size > gva, "Vaddr overflow"); in virt_map()
1520 virt_pg_map(vm, gva, gpa); in virt_map()
1522 gva += page_size; in virt_map()
2093 void *addr_gva2hva(struct kvm_vm *vm, gva_t gva) in addr_gva2hva() argument
2095 return addr_gpa2hva(vm, addr_gva2gpa(vm, gva)); in addr_gva2hva()
/linux/tools/testing/selftests/kvm/
H A Dpre_fault_memory_test.c164 gpa_t gpa, gva, alignment, guest_page_size; in __test_pre_fault_memory() local
180 gva = gpa & ((1ULL << (vm->va_bits - 1)) - 1); in __test_pre_fault_memory()
184 virt_map(vm, gva, gpa, TEST_NPAGES); in __test_pre_fault_memory()
193 vcpu_args_set(vcpu, 1, gva); in __test_pre_fault_memory()
H A Daccess_tracking_perf_test.c126 static u64 lookup_pfn(int pagemap_fd, struct kvm_vm *vm, gva_t gva) in lookup_pfn() argument
128 u64 hva = (u64)addr_gva2hva(vm, gva); in lookup_pfn()
177 gva_t base_gva = vcpu_args->gva; in pageidle_mark_vcpu_memory_idle()
196 gva_t gva = base_gva + page * memstress_args.guest_page_size; in pageidle_mark_vcpu_memory_idle() local
197 u64 pfn = lookup_pfn(pagemap_fd, vm, gva); in pageidle_mark_vcpu_memory_idle()
/linux/arch/mips/kvm/
H A Dtlb.c166 int kvm_vz_guest_tlb_lookup(struct kvm_vcpu *vcpu, unsigned long gva, in kvm_vz_guest_tlb_lookup() argument
184 write_gc0_entryhi((o_entryhi & 0x3ff) | (gva & ~0xfffl)); in kvm_vz_guest_tlb_lookup()
226 pa = entrylo[!!(gva & pagemaskbit)]; in kvm_vz_guest_tlb_lookup()
240 pa |= gva & ~(pagemask | pagemaskbit); in kvm_vz_guest_tlb_lookup()
H A Dvz.c197 static gpa_t kvm_vz_gva_to_gpa_cb(gva_t gva) in kvm_vz_gva_to_gpa_cb() argument
200 return gva; in kvm_vz_gva_to_gpa_cb()
689 static int kvm_vz_gva_to_gpa(struct kvm_vcpu *vcpu, unsigned long gva, in kvm_vz_gva_to_gpa() argument
692 u32 gva32 = gva; in kvm_vz_gva_to_gpa()
695 if ((long)gva == (s32)gva32) { in kvm_vz_gva_to_gpa()
750 } else if ((gva & 0xc000000000000000) == 0x8000000000000000) { in kvm_vz_gva_to_gpa()
758 if (segctl & (1ull << (56 + ((gva >> 59) & 0x7)))) { in kvm_vz_gva_to_gpa()
772 *gpa = gva & 0x07ffffffffffffff; in kvm_vz_gva_to_gpa()
778 return kvm_vz_guest_tlb_lookup(vcpu, gva, gpa); in kvm_vz_gva_to_gpa()
/linux/arch/s390/kvm/
H A Dgaccess.c334 static int trans_exc_ending(struct kvm_vcpu *vcpu, int code, unsigned long gva, u8 ar, in trans_exc_ending() argument
384 teid->addr = gva >> PAGE_SHIFT; in trans_exc_ending()
404 static int trans_exc(struct kvm_vcpu *vcpu, int code, unsigned long gva, u8 ar, in trans_exc() argument
407 return trans_exc_ending(vcpu, code, gva, ar, mode, prot, false); in trans_exc()
470 static unsigned long guest_translate_gva(struct kvm_vcpu *vcpu, unsigned long gva, in guest_translate_gva() argument
474 union vaddress vaddr = {.addr = gva}; in guest_translate_gva()
475 union raddress raddr = {.addr = gva}; in guest_translate_gva()
1184 int guest_translate_address_with_key(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar, in guest_translate_address_with_key() argument
1191 gva = kvm_s390_logical_to_effective(vcpu, gva); in guest_translate_address_with_key()
1192 rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode); in guest_translate_address_with_key()
[all …]
/linux/tools/testing/selftests/kvm/include/
H A Dkvm_util.h728 void virt_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa,
731 void *addr_gva2hva(struct kvm_vm *vm, gva_t gva);
1207 void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa);
1209 static inline void virt_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa) in virt_pg_map() argument
1211 virt_arch_pg_map(vm, gva, gpa); in virt_pg_map()
1212 sparsebit_set(vm->vpages_mapped, gva >> vm->page_shift); in virt_pg_map()
1231 gpa_t addr_arch_gva2gpa(struct kvm_vm *vm, gva_t gva);
1233 static inline gpa_t addr_gva2gpa(struct kvm_vm *vm, gva_t gva) in addr_gva2gpa() argument
1235 return addr_arch_gva2gpa(vm, gva); in addr_gva2gpa()
H A Dmemstress.h24 gva_t gva; member
/linux/tools/testing/selftests/kvm/arm64/
H A Dsea_to_user.c200 run->arm_sea.gva, run->arm_sea.gpa); in run_vm()
213 TEST_ASSERT_EQ(run->arm_sea.gva, EINJ_GVA); in run_vm()
/linux/tools/testing/selftests/kvm/include/arm64/
H A Dprocessor.h182 u64 *virt_get_pte_hva_at_level(struct kvm_vm *vm, gva_t gva, int level);
183 u64 *virt_get_pte_hva(struct kvm_vm *vm, gva_t gva);
/linux/arch/x86/include/asm/
H A Dkvm_host.h1991 gva_t (*get_untagged_addr)(struct kvm_vcpu *vcpu, gva_t gva, unsigned int flags);
2320 gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva,
2322 gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva,
2324 gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
2362 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
2365 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);

12