Home
last modified time | relevance | path

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

12

/Linux-v5.15/include/trace/events/
Dkvm.h261 TP_PROTO(u64 gva, u64 gfn),
263 TP_ARGS(gva, gfn),
266 __field(__u64, gva)
271 __entry->gva = gva;
275 TP_printk("gva = %#llx, gfn = %#llx", __entry->gva, __entry->gfn)
280 TP_PROTO(u64 gva, u64 gfn),
282 TP_ARGS(gva, gfn)
287 TP_PROTO(u64 gva, u64 gfn),
289 TP_ARGS(gva, gfn)
294 TP_PROTO(u64 token, u64 gva),
[all …]
/Linux-v5.15/tools/testing/selftests/kvm/lib/s390x/
Dprocessor.c50 void virt_pg_map(struct kvm_vm *vm, uint64_t gva, uint64_t gpa) in virt_pg_map() argument
55 TEST_ASSERT((gva % vm->page_size) == 0, in virt_pg_map()
58 gva, vm->page_size); in virt_pg_map()
60 (gva >> vm->page_shift)), in virt_pg_map()
62 gva); in virt_pg_map()
66 gva, vm->page_size); in virt_pg_map()
70 gva, vm->max_gfn, vm->page_size); in virt_pg_map()
75 idx = (gva >> (64 - 11 * ri)) & 0x7ffu; in virt_pg_map()
82 idx = (gva >> 12) & 0x0ffu; /* page index */ in virt_pg_map()
89 vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva) in addr_gva2gpa() argument
[all …]
/Linux-v5.15/tools/testing/selftests/kvm/lib/aarch64/
Dprocessor.c24 static uint64_t pgd_index(struct kvm_vm *vm, vm_vaddr_t gva) in pgd_index() argument
29 return (gva >> shift) & mask; in pgd_index()
32 static uint64_t pud_index(struct kvm_vm *vm, vm_vaddr_t gva) in pud_index() argument
40 return (gva >> shift) & mask; in pud_index()
43 static uint64_t pmd_index(struct kvm_vm *vm, vm_vaddr_t gva) in pmd_index() argument
51 return (gva >> shift) & mask; in pmd_index()
54 static uint64_t pte_index(struct kvm_vm *vm, vm_vaddr_t gva) in pte_index() argument
57 return (gva >> vm->page_shift) & mask; in pte_index()
141 vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva) in addr_gva2gpa() argument
148 ptep = addr_gpa2hva(vm, vm->pgd) + pgd_index(vm, gva) * 8; in addr_gva2gpa()
[all …]
Ducall.c102 vm_vaddr_t gva; in get_ucall() local
106 memcpy(&gva, run->mmio.data, sizeof(gva)); in get_ucall()
107 memcpy(&ucall, addr_gva2hva(vm, gva), sizeof(ucall)); in get_ucall()
/Linux-v5.15/arch/x86/kvm/vmx/
Dsgx.c24 int size, int alignment, gva_t *gva) in sgx_get_encls_gva() argument
30 *gva = offset; in sgx_get_encls_gva()
33 *gva += s.base; in sgx_get_encls_gva()
36 if (!IS_ALIGNED(*gva, alignment)) { in sgx_get_encls_gva()
39 fault = is_noncanonical_address(*gva, vcpu); in sgx_get_encls_gva()
41 *gva &= 0xffffffff; in sgx_get_encls_gva()
44 (*gva > s.limit) || in sgx_get_encls_gva()
46 (((u64)*gva + size - 1) > s.limit + 1)); in sgx_get_encls_gva()
74 static int sgx_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t gva, bool write, in sgx_gva_to_gpa() argument
80 *gpa = kvm_mmu_gva_to_gpa_write(vcpu, gva, &ex); in sgx_gva_to_gpa()
[all …]
Dvmx_ops.h19 void invvpid_error(unsigned long ext, u16 vpid, gva_t gva);
257 static inline void __invvpid(unsigned long ext, u16 vpid, gva_t gva) in __invvpid() argument
262 u64 gva; in __invvpid() member
263 } operand = { vpid, 0, gva }; in __invvpid()
265 vmx_asm2(invvpid, "r"(ext), "m"(operand), ext, vpid, gva); in __invvpid()
Dnested.c4814 gva_t gva; in nested_vmx_get_vmptr() local
4820 sizeof(*vmpointer), &gva)) { in nested_vmx_get_vmptr()
4825 r = kvm_read_guest_virt(vcpu, gva, vmpointer, sizeof(*vmpointer), &e); in nested_vmx_get_vmptr()
5085 gva_t gva = 0; in handle_vmread() local
5124 instr_info, true, len, &gva)) in handle_vmread()
5127 r = kvm_write_guest_virt_system(vcpu, gva, &value, len, &e); in handle_vmread()
5169 gva_t gva; in handle_vmwrite() local
5198 instr_info, false, len, &gva)) in handle_vmwrite()
5200 r = kvm_read_guest_virt(vcpu, gva, &value, len, &e); in handle_vmwrite()
5348 gva_t gva; in handle_vmptrst() local
[all …]
/Linux-v5.15/tools/testing/selftests/kvm/lib/
Dperf_test_util.c28 uint64_t gva; in guest_code() local
35 gva = vcpu_args->gva; in guest_code()
40 uint64_t addr = gva + (i * perf_test_args.guest_page_size); in guest_code()
140 vcpu_args->gva = guest_test_virt_mem + in perf_test_setup_vcpus()
147 vcpu_args->gva = guest_test_virt_mem; in perf_test_setup_vcpus()
Dkvm_util.c689 int kvm_memcmp_hva_gva(void *hva, struct kvm_vm *vm, vm_vaddr_t gva, size_t len) in kvm_memcmp_hva_gva() argument
704 uintptr_t ptr2 = (uintptr_t)addr_gva2hva(vm, gva + offset); in kvm_memcmp_hva_gva()
2237 void *addr_gva2hva(struct kvm_vm *vm, vm_vaddr_t gva) in addr_gva2hva() argument
2239 return addr_gpa2hva(vm, addr_gva2gpa(vm, gva)); in addr_gva2hva()
/Linux-v5.15/arch/x86/kvm/
Dx86.h218 gva_t gva, gfn_t gfn, unsigned access) in vcpu_cache_mmio_info() argument
229 vcpu->arch.mmio_gva = mmu_is_nested(vcpu) ? 0 : gva & PAGE_MASK; in vcpu_cache_mmio_info()
246 static inline void vcpu_clear_mmio_info(struct kvm_vcpu *vcpu, gva_t gva) in vcpu_clear_mmio_info() argument
248 if (gva != MMIO_GVA_ANY && vcpu->arch.mmio_gva != (gva & PAGE_MASK)) in vcpu_clear_mmio_info()
254 static inline bool vcpu_match_mmio_gva(struct kvm_vcpu *vcpu, unsigned long gva) in vcpu_match_mmio_gva() argument
257 vcpu->arch.mmio_gva == (gva & PAGE_MASK)) in vcpu_match_mmio_gva()
322 void kvm_fixup_and_inject_pf_error(struct kvm_vcpu *vcpu, gva_t gva, u16 error_code);
447 int kvm_handle_invpcid(struct kvm_vcpu *vcpu, unsigned long type, gva_t gva);
Dtrace.h817 TP_PROTO(gva_t gva, gpa_t gpa, bool write, bool gpa_match),
818 TP_ARGS(gva, gpa, write, gpa_match),
821 __field(gva_t, gva)
828 __entry->gva = gva;
834 TP_printk("gva %#lx gpa %#llx %s %s", __entry->gva, __entry->gpa,
/Linux-v5.15/arch/s390/kvm/
Dgaccess.c493 static int trans_exc(struct kvm_vcpu *vcpu, int code, unsigned long gva, in trans_exc() argument
534 tec->addr = gva >> PAGE_SHIFT; in trans_exc()
614 static unsigned long guest_translate(struct kvm_vcpu *vcpu, unsigned long gva, in guest_translate() argument
618 union vaddress vaddr = {.addr = gva}; in guest_translate()
619 union raddress raddr = {.addr = gva}; in guest_translate()
909 int guest_translate_address(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar, in guest_translate_address() argument
917 gva = kvm_s390_logical_to_effective(vcpu, gva); in guest_translate_address()
918 rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode); in guest_translate_address()
921 if (is_low_address(gva) && low_address_protection_enabled(vcpu, asce)) { in guest_translate_address()
923 return trans_exc(vcpu, PGM_PROTECTION, gva, 0, in guest_translate_address()
[all …]
Dgaccess.h189 int guest_translate_address(struct kvm_vcpu *vcpu, unsigned long gva,
191 int check_gva_range(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar,
/Linux-v5.15/tools/testing/selftests/kvm/
Daccess_tracking_perf_test.c96 static uint64_t lookup_pfn(int pagemap_fd, struct kvm_vm *vm, uint64_t gva) in lookup_pfn() argument
98 uint64_t hva = (uint64_t) addr_gva2hva(vm, gva); in lookup_pfn()
132 uint64_t base_gva = perf_test_args.vcpu_args[vcpu_id].gva; in mark_vcpu_memory_idle()
151 uint64_t gva = base_gva + page * perf_test_args.guest_page_size; in mark_vcpu_memory_idle() local
152 uint64_t pfn = lookup_pfn(pagemap_fd, vm, gva); in mark_vcpu_memory_idle()
/Linux-v5.15/arch/mips/kvm/
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()
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-v5.15/tools/testing/selftests/kvm/x86_64/
Dget_cpuid_test.c148 vm_vaddr_t gva = vm_vaddr_alloc(vm, size, KVM_UTIL_MIN_VADDR); in vcpu_alloc_cpuid() local
149 struct kvm_cpuid2 *guest_cpuids = addr_gva2hva(vm, gva); in vcpu_alloc_cpuid()
153 *p_gva = gva; in vcpu_alloc_cpuid()
/Linux-v5.15/tools/testing/selftests/kvm/include/
Dperf_test_util.h21 uint64_t gva; member
Dkvm_util.h100 int kvm_memcmp_hva_gva(void *hva, struct kvm_vm *vm, const vm_vaddr_t gva,
152 void *addr_gva2hva(struct kvm_vm *vm, vm_vaddr_t gva);
171 vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva);
/Linux-v5.15/arch/x86/include/asm/
Dkvm_host.h429 void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa);
1755 gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva,
1757 gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva,
1759 gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva,
1761 gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
1776 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
1778 gva_t gva, hpa_t root_hpa);
1779 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);
/Linux-v5.15/tools/testing/selftests/kvm/lib/x86_64/
Dprocessor.c558 vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva) in addr_gva2gpa() argument
567 index[0] = (gva >> 12) & 0x1ffu; in addr_gva2gpa()
568 index[1] = (gva >> 21) & 0x1ffu; in addr_gva2gpa()
569 index[2] = (gva >> 30) & 0x1ffu; in addr_gva2gpa()
570 index[3] = (gva >> 39) & 0x1ffu; in addr_gva2gpa()
590 return (pte[index[0]].pfn * vm->page_size) + (gva & 0xfffu); in addr_gva2gpa()
593 TEST_FAIL("No mapping for vm virtual address, gva: 0x%lx", gva); in addr_gva2gpa()
/Linux-v5.15/arch/x86/kvm/mmu/
Dmmu.c2564 static int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva) in kvm_mmu_unprotect_page_virt() argument
2572 gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, NULL); in kvm_mmu_unprotect_page_virt()
3067 static bool handle_abnormal_pfn(struct kvm_vcpu *vcpu, gva_t gva, gfn_t gfn, in handle_abnormal_pfn() argument
3078 vcpu_cache_mmio_info(vcpu, gva, gfn, in handle_abnormal_pfn()
3417 static hpa_t mmu_alloc_root(struct kvm_vcpu *vcpu, gfn_t gfn, gva_t gva, in mmu_alloc_root() argument
3422 sp = kvm_mmu_get_page(vcpu, gfn, gva, level, direct, ACC_ALL); in mmu_alloc_root()
5331 gva_t gva, hpa_t root_hpa) in kvm_mmu_invalidate_gva() argument
5338 if (is_noncanonical_address(gva, vcpu)) in kvm_mmu_invalidate_gva()
5341 static_call(kvm_x86_tlb_flush_gva)(vcpu, gva); in kvm_mmu_invalidate_gva()
5348 mmu->invlpg(vcpu, gva, mmu->root_hpa); in kvm_mmu_invalidate_gva()
[all …]
Dpaging_tmpl.h960 static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa) in FNAME()
968 vcpu_clear_mmio_info(vcpu, gva); in FNAME()
982 for_each_shadow_entry_using_root(vcpu, root_hpa, gva, iterator) { in FNAME()
/Linux-v5.15/Documentation/virt/kvm/
Dmmu.rst49 gva guest virtual address
79 guest physical addresses, to host physical addresses (gva->gpa->hpa)
139 paging: gva->gpa->hpa
140 paging, tdp: (gva->)gpa->hpa
322 (gva->gpa or ngpa->gpa)
/Linux-v5.15/arch/x86/kvm/svm/
Dsvm.c2314 gva_t gva = kvm_rax_read(vcpu); in invlpga_interception() local
2319 gva = (u32)gva; in invlpga_interception()
2321 trace_kvm_invlpga(to_svm(vcpu)->vmcb->save.rip, asid, gva); in invlpga_interception()
2324 kvm_mmu_invlpg(vcpu, gva); in invlpga_interception()
3023 gva_t gva; in invpcid_interception() local
3036 gva = svm->vmcb->control.exit_info_1; in invpcid_interception()
3043 return kvm_handle_invpcid(vcpu, type, gva); in invpcid_interception()
3602 static void svm_flush_tlb_gva(struct kvm_vcpu *vcpu, gva_t gva) in svm_flush_tlb_gva() argument
3606 invlpga(gva, svm->vmcb->control.asid); in svm_flush_tlb_gva()

12