Home
last modified time | relevance | path

Searched refs:gpa (Results 1 – 25 of 118) sorted by relevance

12345

/Linux-v6.6/arch/powerpc/kvm/
Dbook3s_64_mmu_radix.c143 u64 pte, base, gpa; in kvmppc_mmu_walk_radix_tree() local
198 gpa = pte & 0x01fffffffffff000ul; in kvmppc_mmu_walk_radix_tree()
199 if (gpa & ((1ul << offset) - 1)) in kvmppc_mmu_walk_radix_tree()
201 gpa |= eaddr & ((1ul << offset) - 1); in kvmppc_mmu_walk_radix_tree()
209 gpte->raddr = gpa; in kvmppc_mmu_walk_radix_tree()
417 void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, unsigned long gpa, in kvmppc_unmap_pte() argument
424 unsigned long gfn = gpa >> PAGE_SHIFT; in kvmppc_unmap_pte()
428 old = kvmppc_radix_update_pte(kvm, pte, ~0UL, 0, gpa, shift); in kvmppc_unmap_pte()
429 kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid); in kvmppc_unmap_pte()
448 gpa &= ~(page_size - 1); in kvmppc_unmap_pte()
[all …]
Dbook3s_hv_uvmem.c234 unsigned long gpa; member
516 struct kvm *kvm, unsigned long gpa, struct page *fault_page) in __kvmppc_svm_page_out() argument
536 if (!kvmppc_gfn_is_uvmem_pfn(gpa >> page_shift, kvm, NULL)) in __kvmppc_svm_page_out()
569 gpa, 0, page_shift); in __kvmppc_svm_page_out()
589 struct kvm *kvm, unsigned long gpa, in kvmppc_svm_page_out() argument
595 ret = __kvmppc_svm_page_out(vma, start, end, page_shift, kvm, gpa, in kvmppc_svm_page_out()
645 PAGE_SHIFT, kvm, pvt->gpa, NULL)) in kvmppc_uvmem_drop_pages()
647 pvt->gpa, addr); in kvmppc_uvmem_drop_pages()
695 static struct page *kvmppc_uvmem_get_page(unsigned long gpa, struct kvm *kvm) in kvmppc_uvmem_get_page() argument
719 kvmppc_gfn_secure_uvmem_pfn(gpa >> PAGE_SHIFT, uvmem_pfn, kvm); in kvmppc_uvmem_get_page()
[all …]
/Linux-v6.6/tools/testing/selftests/kvm/
Dmax_guest_memory_test.c23 uint64_t gpa; in guest_code() local
25 for (gpa = start_gpa; gpa < end_gpa; gpa += stride) in guest_code()
26 *((volatile uint64_t *)gpa) = gpa; in guest_code()
96 uint64_t gpa, nr_bytes; in spawn_workers() local
110 for (i = 0, gpa = start_gpa; i < nr_vcpus; i++, gpa += nr_bytes) { in spawn_workers()
112 info[i].start_gpa = gpa; in spawn_workers()
113 info[i].end_gpa = gpa + nr_bytes; in spawn_workers()
170 uint64_t max_gpa, gpa, slot_size, max_mem, i; in main() local
232 gpa = 0; in main()
234 gpa = start_gpa + ((slot - first_slot) * slot_size); in main()
[all …]
Dmemslot_perf_test.c185 static void *vm_gpa2hva(struct vm_data *data, uint64_t gpa, uint64_t *rempages) in vm_gpa2hva() argument
192 TEST_ASSERT(gpa >= MEM_GPA, "Too low gpa to translate"); in vm_gpa2hva()
193 TEST_ASSERT(gpa < MEM_GPA + data->npages * guest_page_size, in vm_gpa2hva()
195 gpa -= MEM_GPA; in vm_gpa2hva()
197 gpage = gpa / guest_page_size; in vm_gpa2hva()
198 pgoffs = gpa % guest_page_size; in vm_gpa2hva()
331 uint64_t gpa; in prepare_vm() local
337 gpa = vm_phy_pages_alloc(data->vm, npages, guest_addr, slot); in prepare_vm()
338 TEST_ASSERT(gpa == guest_addr, in prepare_vm()
632 uint64_t gpa, ctr; in test_memslot_do_unmap() local
[all …]
Dmemslot_modification_stress_test.c69 uint64_t gpa; in add_remove_memslot() local
76 gpa = memstress_args.gpa - pages * vm->page_size; in add_remove_memslot()
80 vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa, in add_remove_memslot()
/Linux-v6.6/arch/s390/kvm/
Dgaccess.h152 unsigned long gpa = gra + kvm_s390_get_prefix(vcpu); in write_guest_lc() local
154 return kvm_write_guest(vcpu->kvm, gpa, data, len); in write_guest_lc()
178 unsigned long gpa = gra + kvm_s390_get_prefix(vcpu); in read_guest_lc() local
180 return kvm_read_guest(vcpu->kvm, gpa, data, len); in read_guest_lc()
190 unsigned long *gpa, enum gacc_mode mode,
196 int check_gpa_range(struct kvm *kvm, unsigned long gpa, unsigned long length,
199 int access_guest_abs_with_key(struct kvm *kvm, gpa_t gpa, void *data,
209 int cmpxchg_guest_abs_with_key(struct kvm *kvm, gpa_t gpa, int len, __uint128_t *old,
371 int write_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data, in write_guest_abs() argument
374 return kvm_write_guest(vcpu->kvm, gpa, data, len); in write_guest_abs()
[all …]
Dvsie.c662 static int pin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t *hpa) in pin_guest_page() argument
666 page = gfn_to_page(kvm, gpa_to_gfn(gpa)); in pin_guest_page()
669 *hpa = (hpa_t)page_to_phys(page) + (gpa & ~PAGE_MASK); in pin_guest_page()
674 static void unpin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t hpa) in unpin_guest_page() argument
678 mark_page_dirty(kvm, gpa_to_gfn(gpa)); in unpin_guest_page()
743 gpa_t gpa; in pin_blocks() local
746 gpa = READ_ONCE(scb_o->scaol) & ~0xfUL; in pin_blocks()
748 gpa |= (u64) READ_ONCE(scb_o->scaoh) << 32; in pin_blocks()
749 if (gpa) { in pin_blocks()
750 if (gpa < 2 * PAGE_SIZE) in pin_blocks()
[all …]
Dgaccess.c606 static int deref_table(struct kvm *kvm, unsigned long gpa, unsigned long *val) in deref_table() argument
608 return kvm_read_guest(kvm, gpa, val, sizeof(*val)); in deref_table()
633 unsigned long *gpa, const union asce asce, in guest_translate() argument
792 *gpa = raddr.addr; in guest_translate()
816 enum gacc_mode mode, gpa_t gpa) in vm_check_access_key() argument
826 hva = gfn_to_hva(kvm, gpa_to_gfn(gpa)); in vm_check_access_key()
879 enum gacc_mode mode, union asce asce, gpa_t gpa, in vcpu_check_access_key() argument
893 hva = gfn_to_hva(vcpu->kvm, gpa_to_gfn(gpa)); in vcpu_check_access_key()
962 unsigned long gpa; in guest_range_to_gpas() local
972 rc = guest_translate(vcpu, ga, &gpa, asce, mode, &prot); in guest_range_to_gpas()
[all …]
/Linux-v6.6/tools/testing/selftests/kvm/lib/
Dmemstress.c109 vcpu_args->gpa = args->gpa + (i * vcpu_memory_bytes); in memstress_setup_vcpus()
114 vcpu_args->gpa = args->gpa; in memstress_setup_vcpus()
120 i, vcpu_args->gpa, vcpu_args->gpa + in memstress_setup_vcpus()
197 args->gpa = (region_end_gfn - guest_num_pages - 1) * args->guest_page_size; in memstress_create_vm()
198 args->gpa = align_down(args->gpa, backing_src_pagesz); in memstress_create_vm()
201 args->gpa = align_down(args->gpa, 1 << 20); in memstress_create_vm()
205 args->gpa, args->gpa + args->size); in memstress_create_vm()
210 vm_paddr_t region_start = args->gpa + region_pages * args->guest_page_size * i; in memstress_create_vm()
218 virt_map(vm, guest_test_virt_mem, args->gpa, guest_num_pages); in memstress_create_vm()
/Linux-v6.6/arch/x86/include/asm/uv/
Duv_hub.h461 uv_gpa_in_mmr_space(unsigned long gpa) in uv_gpa_in_mmr_space() argument
463 return (gpa >> 62) == 0x3UL; in uv_gpa_in_mmr_space()
467 static inline unsigned long uv_gpa_to_soc_phys_ram(unsigned long gpa) in uv_gpa_to_soc_phys_ram() argument
475 gpa = ((gpa << uv_hub_info->m_shift) >> uv_hub_info->m_shift) | in uv_gpa_to_soc_phys_ram()
476 ((gpa >> uv_hub_info->n_lshift) << uv_hub_info->m_val); in uv_gpa_to_soc_phys_ram()
478 paddr = gpa & uv_hub_info->gpa_mask; in uv_gpa_to_soc_phys_ram()
485 static inline unsigned long uv_gpa_to_gnode(unsigned long gpa) in uv_gpa_to_gnode() argument
490 return gpa >> n_lshift; in uv_gpa_to_gnode()
492 return uv_gam_range(gpa)->nasid >> 1; in uv_gpa_to_gnode()
496 static inline int uv_gpa_to_pnode(unsigned long gpa) in uv_gpa_to_pnode() argument
[all …]
/Linux-v6.6/virt/kvm/
Dpfncache.c86 if ((gpc->gpa & ~PAGE_MASK) + len > PAGE_SIZE) in kvm_gpc_check()
222 gpc->khva = new_khva + (gpc->gpa & ~PAGE_MASK); in hva_to_pfn_retry()
239 static int __kvm_gpc_refresh(struct gfn_to_pfn_cache *gpc, gpa_t gpa, in __kvm_gpc_refresh() argument
243 unsigned long page_offset = gpa & ~PAGE_MASK; in __kvm_gpc_refresh()
276 if (gpc->gpa != gpa || gpc->generation != slots->generation || in __kvm_gpc_refresh()
278 gfn_t gfn = gpa_to_gfn(gpa); in __kvm_gpc_refresh()
280 gpc->gpa = gpa; in __kvm_gpc_refresh()
336 return __kvm_gpc_refresh(gpc, gpc->gpa, len); in kvm_gpc_refresh()
357 int kvm_gpc_activate(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned long len) in kvm_gpc_activate() argument
378 return __kvm_gpc_refresh(gpc, gpa, len); in kvm_gpc_activate()
/Linux-v6.6/arch/x86/kvm/mmu/
Dpage_track.h30 void __kvm_page_track_write(struct kvm *kvm, gpa_t gpa, const u8 *new, int bytes);
41 static inline void __kvm_page_track_write(struct kvm *kvm, gpa_t gpa, in __kvm_page_track_write() argument
50 static inline void kvm_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, in kvm_page_track_write() argument
53 __kvm_page_track_write(vcpu->kvm, gpa, new, bytes); in kvm_page_track_write()
55 kvm_mmu_track_write(vcpu, gpa, new, bytes); in kvm_page_track_write()
/Linux-v6.6/arch/riscv/kvm/
Dtlb.c21 gpa_t gpa, gpa_t gpsz, in kvm_riscv_local_hfence_gvma_vmid_gpa() argument
33 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_vmid_gpa()
38 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_vmid_gpa()
49 void kvm_riscv_local_hfence_gvma_gpa(gpa_t gpa, gpa_t gpsz, in kvm_riscv_local_hfence_gvma_gpa() argument
61 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_gpa()
66 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_gpa()
334 gpa_t gpa, gpa_t gpsz, in kvm_riscv_hfence_gvma_vmid_gpa() argument
341 data.addr = gpa; in kvm_riscv_hfence_gvma_vmid_gpa()
Dmmu.c179 gpa_t gpa, phys_addr_t hpa, in gstage_map_page() argument
219 return gstage_set_pte(kvm, level, pcache, gpa, &new_pte); in gstage_map_page()
346 int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa, in kvm_riscv_gstage_ioremap() argument
359 end = (gpa + size + PAGE_SIZE - 1) & PAGE_MASK; in kvm_riscv_gstage_ioremap()
362 for (addr = gpa; addr < end; addr += PAGE_SIZE) { in kvm_riscv_gstage_ioremap()
386 void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size) in kvm_riscv_gstage_iounmap() argument
389 gstage_unmap_range(kvm, gpa, size, false); in kvm_riscv_gstage_iounmap()
425 gpa_t gpa = slot->base_gfn << PAGE_SHIFT; in kvm_arch_flush_shadow_memslot() local
429 gstage_unmap_range(kvm, gpa, size, false); in kvm_arch_flush_shadow_memslot()
510 gpa_t gpa = base_gpa + (vm_start - hva); in kvm_arch_prepare_memory_region() local
[all …]
/Linux-v6.6/arch/x86/kvm/
Dcpuid.h45 static inline bool kvm_vcpu_is_legal_gpa(struct kvm_vcpu *vcpu, gpa_t gpa) in kvm_vcpu_is_legal_gpa() argument
47 return !(gpa & vcpu->arch.reserved_gpa_bits); in kvm_vcpu_is_legal_gpa()
50 static inline bool kvm_vcpu_is_illegal_gpa(struct kvm_vcpu *vcpu, gpa_t gpa) in kvm_vcpu_is_illegal_gpa() argument
52 return !kvm_vcpu_is_legal_gpa(vcpu, gpa); in kvm_vcpu_is_illegal_gpa()
56 gpa_t gpa, gpa_t alignment) in kvm_vcpu_is_legal_aligned_gpa() argument
58 return IS_ALIGNED(gpa, alignment) && kvm_vcpu_is_legal_gpa(vcpu, gpa); in kvm_vcpu_is_legal_aligned_gpa()
61 static inline bool page_address_valid(struct kvm_vcpu *vcpu, gpa_t gpa) in page_address_valid() argument
63 return kvm_vcpu_is_legal_aligned_gpa(vcpu, gpa, PAGE_SIZE); in page_address_valid()
Dmmu.h124 void kvm_mmu_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new,
295 gpa_t translate_nested_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, u64 access,
300 gpa_t gpa, u64 access, in kvm_translate_gpa() argument
304 return gpa; in kvm_translate_gpa()
305 return translate_nested_gpa(vcpu, gpa, access, exception); in kvm_translate_gpa()
/Linux-v6.6/drivers/gpu/drm/i915/gvt/
Dpage_track.c159 int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa, in intel_vgpu_page_track_handler() argument
165 page_track = intel_vgpu_find_page_track(vgpu, gpa >> PAGE_SHIFT); in intel_vgpu_page_track_handler()
171 intel_gvt_page_track_remove(vgpu, gpa >> PAGE_SHIFT); in intel_vgpu_page_track_handler()
173 ret = page_track->handler(page_track, gpa, data, bytes); in intel_vgpu_page_track_handler()
175 gvt_err("guest page write error, gpa %llx\n", gpa); in intel_vgpu_page_track_handler()
Dpage_track.h35 u64 gpa, void *data, int bytes);
56 int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa,
/Linux-v6.6/arch/mips/kvm/
Dmmu.c449 gpa_t gpa = range->start << PAGE_SHIFT; in kvm_set_spte_gfn() local
451 pte_t *gpa_pte = kvm_mips_pte_for_gpa(kvm, NULL, gpa); in kvm_set_spte_gfn()
484 gpa_t gpa = range->start << PAGE_SHIFT; in kvm_test_age_gfn() local
485 pte_t *gpa_pte = kvm_mips_pte_for_gpa(kvm, NULL, gpa); in kvm_test_age_gfn()
510 static int _kvm_mips_map_page_fast(struct kvm_vcpu *vcpu, unsigned long gpa, in _kvm_mips_map_page_fast() argument
515 gfn_t gfn = gpa >> PAGE_SHIFT; in _kvm_mips_map_page_fast()
524 ptep = kvm_mips_pte_for_gpa(kvm, NULL, gpa); in _kvm_mips_map_page_fast()
586 static int kvm_mips_map_page(struct kvm_vcpu *vcpu, unsigned long gpa, in kvm_mips_map_page() argument
592 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_mips_map_page()
602 err = _kvm_mips_map_page_fast(vcpu, gpa, write_fault, out_entry, in kvm_mips_map_page()
[all …]
/Linux-v6.6/arch/riscv/include/asm/
Dkvm_host.h257 gpa_t gpa, gpa_t gpsz,
260 void kvm_riscv_local_hfence_gvma_gpa(gpa_t gpa, gpa_t gpsz,
286 gpa_t gpa, gpa_t gpsz,
304 int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
307 void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa,
311 gpa_t gpa, unsigned long hva, bool is_write);
/Linux-v6.6/tools/testing/selftests/kvm/x86_64/
Dsmaller_maxphyaddr_emulation_test.c55 uint64_t gpa; in main() local
75 gpa = vm_phy_pages_alloc(vm, MEM_REGION_SIZE / PAGE_SIZE, in main()
77 TEST_ASSERT(gpa == MEM_REGION_GPA, "Failed vm_phy_pages_alloc\n"); in main()
/Linux-v6.6/arch/x86/kvm/vmx/
Dsgx.c74 gpa_t *gpa) in sgx_gva_to_gpa() argument
79 *gpa = kvm_mmu_gva_to_gpa_write(vcpu, gva, &ex); in sgx_gva_to_gpa()
81 *gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, &ex); in sgx_gva_to_gpa()
83 if (*gpa == INVALID_GPA) { in sgx_gva_to_gpa()
91 static int sgx_gpa_to_hva(struct kvm_vcpu *vcpu, gpa_t gpa, unsigned long *hva) in sgx_gpa_to_hva() argument
93 *hva = kvm_vcpu_gfn_to_hva(vcpu, PFN_DOWN(gpa)); in sgx_gpa_to_hva()
95 sgx_handle_emulation_failure(vcpu, gpa, 1); in sgx_gpa_to_hva()
99 *hva |= gpa & ~PAGE_MASK; in sgx_gpa_to_hva()
Dvmx_ops.h18 void invept_error(unsigned long ext, u64 eptp, gpa_t gpa);
315 static inline void __invept(unsigned long ext, u64 eptp, gpa_t gpa) in __invept() argument
318 u64 eptp, gpa; in __invept() member
319 } operand = {eptp, gpa}; in __invept()
321 vmx_asm2(invept, "r"(ext), "m"(operand), ext, eptp, gpa); in __invept()
/Linux-v6.6/tools/testing/selftests/kvm/lib/s390x/
Dprocessor.c50 void virt_arch_pg_map(struct kvm_vm *vm, uint64_t gva, uint64_t gpa) in virt_arch_pg_map() argument
63 TEST_ASSERT((gpa % vm->page_size) == 0, in virt_arch_pg_map()
67 TEST_ASSERT((gpa >> vm->page_shift) <= vm->max_gfn, in virt_arch_pg_map()
85 "WARNING: PTE for gpa=0x%"PRIx64" already set!\n", gpa); in virt_arch_pg_map()
86 entry[idx] = gpa; in virt_arch_pg_map()
/Linux-v6.6/arch/x86/coco/tdx/
Dtdx.c425 if (!mmio_write(size, ve->gpa, val)) in handle_mmio()
430 if (!mmio_write(size, ve->gpa, val)) in handle_mmio()
452 if (!mmio_read(size, ve->gpa, &val)) in handle_mmio()
603 ve->gpa = out.r9; in tdx_get_ve_info()
625 static inline bool is_private_gpa(u64 gpa) in is_private_gpa() argument
627 return gpa == cc_mkenc(gpa); in is_private_gpa()
648 if (is_private_gpa(ve->gpa)) in virt_exception_kernel()

12345