Home
last modified time | relevance | path

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

12345

/Linux-v5.15/arch/powerpc/kvm/
Dbook3s_64_mmu_radix.c138 u64 pte, base, gpa; in kvmppc_mmu_walk_radix_tree() local
192 gpa = pte & 0x01fffffffffff000ul; in kvmppc_mmu_walk_radix_tree()
193 if (gpa & ((1ul << offset) - 1)) in kvmppc_mmu_walk_radix_tree()
195 gpa |= eaddr & ((1ul << offset) - 1); in kvmppc_mmu_walk_radix_tree()
203 gpte->raddr = gpa; in kvmppc_mmu_walk_radix_tree()
411 void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, unsigned long gpa, in kvmppc_unmap_pte() argument
418 unsigned long gfn = gpa >> PAGE_SHIFT; in kvmppc_unmap_pte()
422 old = kvmppc_radix_update_pte(kvm, pte, ~0UL, 0, gpa, shift); in kvmppc_unmap_pte()
423 kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid); in kvmppc_unmap_pte()
442 gpa &= ~(page_size - 1); in kvmppc_unmap_pte()
[all …]
Dbook3s_hv_uvmem.c233 unsigned long gpa; member
508 struct kvm *kvm, unsigned long gpa) in __kvmppc_svm_page_out() argument
527 if (!kvmppc_gfn_is_uvmem_pfn(gpa >> page_shift, kvm, NULL)) in __kvmppc_svm_page_out()
560 gpa, 0, page_shift); in __kvmppc_svm_page_out()
580 struct kvm *kvm, unsigned long gpa) in kvmppc_svm_page_out() argument
585 ret = __kvmppc_svm_page_out(vma, start, end, page_shift, kvm, gpa); in kvmppc_svm_page_out()
634 PAGE_SHIFT, kvm, pvt->gpa)) in kvmppc_uvmem_drop_pages()
636 pvt->gpa, addr); in kvmppc_uvmem_drop_pages()
684 static struct page *kvmppc_uvmem_get_page(unsigned long gpa, struct kvm *kvm) in kvmppc_uvmem_get_page() argument
708 kvmppc_gfn_secure_uvmem_pfn(gpa >> PAGE_SHIFT, uvmem_pfn, kvm); in kvmppc_uvmem_get_page()
[all …]
Dbook3s_hv_nested.c912 unsigned long gpa; in kvmhv_update_nest_rmap_rc() local
916 gpa = n_rmap & RMAP_NESTED_GPA_MASK; in kvmhv_update_nest_rmap_rc()
920 ptep = find_kvm_nested_guest_pte(kvm, lpid, gpa, &shift); in kvmhv_update_nest_rmap_rc()
929 kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid); in kvmhv_update_nest_rmap_rc()
959 unsigned long gpa; in kvmhv_remove_nest_rmap() local
963 gpa = n_rmap & RMAP_NESTED_GPA_MASK; in kvmhv_remove_nest_rmap()
970 ptep = find_kvm_nested_guest_pte(kvm, lpid, gpa, &shift); in kvmhv_remove_nest_rmap()
973 kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid); in kvmhv_remove_nest_rmap()
992 unsigned long gpa, unsigned long hpa, in kvmhv_remove_nest_rmap_range() argument
1000 gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn; in kvmhv_remove_nest_rmap_range()
[all …]
/Linux-v5.15/tools/testing/selftests/kvm/lib/aarch64/
Ducall.c12 static bool ucall_mmio_init(struct kvm_vm *vm, vm_paddr_t gpa) in ucall_mmio_init() argument
14 if (kvm_userspace_memory_region_find(vm, gpa, gpa + 1)) in ucall_mmio_init()
17 virt_pg_map(vm, gpa, gpa); in ucall_mmio_init()
19 ucall_exit_mmio_addr = (vm_vaddr_t *)gpa; in ucall_mmio_init()
27 vm_paddr_t gpa, start, end, step, offset; in ucall_init() local
32 gpa = (vm_paddr_t)arg; in ucall_init()
33 ret = ucall_mmio_init(vm, gpa); in ucall_init()
34 TEST_ASSERT(ret, "Can't set ucall mmio address to %lx", gpa); in ucall_init()
/Linux-v5.15/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 u8 ar, unsigned long *gpa, enum gacc_mode mode);
310 int write_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data, in write_guest_abs() argument
313 return kvm_write_guest(vcpu->kvm, gpa, data, len); in write_guest_abs()
333 int read_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data, in read_guest_abs() argument
336 return kvm_read_guest(vcpu->kvm, gpa, data, len); in read_guest_abs()
Dvsie.c642 static int pin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t *hpa) in pin_guest_page() argument
646 page = gfn_to_page(kvm, gpa_to_gfn(gpa)); in pin_guest_page()
649 *hpa = (hpa_t) page_to_virt(page) + (gpa & ~PAGE_MASK); in pin_guest_page()
654 static void unpin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t hpa) in unpin_guest_page() argument
658 mark_page_dirty(kvm, gpa_to_gfn(gpa)); in unpin_guest_page()
723 gpa_t gpa; in pin_blocks() local
726 gpa = READ_ONCE(scb_o->scaol) & ~0xfUL; in pin_blocks()
728 gpa |= (u64) READ_ONCE(scb_o->scaoh) << 32; in pin_blocks()
729 if (gpa) { in pin_blocks()
730 if (gpa < 2 * PAGE_SIZE) in pin_blocks()
[all …]
Dgaccess.c588 static int deref_table(struct kvm *kvm, unsigned long gpa, unsigned long *val) in deref_table() argument
590 return kvm_read_guest(kvm, gpa, val, sizeof(*val)); in deref_table()
615 unsigned long *gpa, const union asce asce, in guest_translate() argument
774 *gpa = raddr.addr; in guest_translate()
834 unsigned long _len, nr_pages, gpa, idx; in access_guest() local
858 gpa = *(pages + idx) + (ga & ~PAGE_MASK); in access_guest()
859 _len = min(PAGE_SIZE - (gpa & ~PAGE_MASK), len); in access_guest()
861 rc = kvm_write_guest(vcpu->kvm, gpa, data, _len); in access_guest()
863 rc = kvm_read_guest(vcpu->kvm, gpa, data, _len); in access_guest()
878 unsigned long _len, gpa; in access_guest_real() local
[all …]
/Linux-v5.15/arch/x86/include/asm/uv/
Duv_hub.h460 uv_gpa_in_mmr_space(unsigned long gpa) in uv_gpa_in_mmr_space() argument
462 return (gpa >> 62) == 0x3UL; in uv_gpa_in_mmr_space()
466 static inline unsigned long uv_gpa_to_soc_phys_ram(unsigned long gpa) in uv_gpa_to_soc_phys_ram() argument
474 gpa = ((gpa << uv_hub_info->m_shift) >> uv_hub_info->m_shift) | in uv_gpa_to_soc_phys_ram()
475 ((gpa >> uv_hub_info->n_lshift) << uv_hub_info->m_val); in uv_gpa_to_soc_phys_ram()
477 paddr = gpa & uv_hub_info->gpa_mask; in uv_gpa_to_soc_phys_ram()
484 static inline unsigned long uv_gpa_to_gnode(unsigned long gpa) in uv_gpa_to_gnode() argument
489 return gpa >> n_lshift; in uv_gpa_to_gnode()
491 return uv_gam_range(gpa)->nasid >> 1; in uv_gpa_to_gnode()
495 static inline int uv_gpa_to_pnode(unsigned long gpa) in uv_gpa_to_pnode() argument
[all …]
/Linux-v5.15/arch/x86/kvm/
Dcpuid.h41 static inline bool kvm_vcpu_is_legal_gpa(struct kvm_vcpu *vcpu, gpa_t gpa) in kvm_vcpu_is_legal_gpa() argument
43 return !(gpa & vcpu->arch.reserved_gpa_bits); in kvm_vcpu_is_legal_gpa()
46 static inline bool kvm_vcpu_is_illegal_gpa(struct kvm_vcpu *vcpu, gpa_t gpa) in kvm_vcpu_is_illegal_gpa() argument
48 return !kvm_vcpu_is_legal_gpa(vcpu, gpa); in kvm_vcpu_is_illegal_gpa()
52 gpa_t gpa, gpa_t alignment) in kvm_vcpu_is_legal_aligned_gpa() argument
54 return IS_ALIGNED(gpa, alignment) && kvm_vcpu_is_legal_gpa(vcpu, gpa); in kvm_vcpu_is_legal_aligned_gpa()
57 static inline bool page_address_valid(struct kvm_vcpu *vcpu, gpa_t gpa) in page_address_valid() argument
59 return kvm_vcpu_is_legal_aligned_gpa(vcpu, gpa, PAGE_SIZE); in page_address_valid()
Dxen.c26 gpa_t gpa = gfn_to_gpa(gfn); in kvm_xen_shared_info_init() local
57 kvm_write_wall_clock(kvm, gpa + wc_ofs, sec_hi_ofs - wc_ofs); in kvm_xen_shared_info_init()
334 if (data->u.gpa == GPA_INVALID) { in kvm_xen_vcpu_set_attr()
342 data->u.gpa, in kvm_xen_vcpu_set_attr()
351 if (data->u.gpa == GPA_INVALID) { in kvm_xen_vcpu_set_attr()
359 data->u.gpa, in kvm_xen_vcpu_set_attr()
372 if (data->u.gpa == GPA_INVALID) { in kvm_xen_vcpu_set_attr()
380 data->u.gpa, in kvm_xen_vcpu_set_attr()
500 data->u.gpa = vcpu->arch.xen.vcpu_info_cache.gpa; in kvm_xen_vcpu_get_attr()
502 data->u.gpa = GPA_INVALID; in kvm_xen_vcpu_get_attr()
[all …]
/Linux-v5.15/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
167 page_track = intel_vgpu_find_page_track(vgpu, gpa >> PAGE_SHIFT); in intel_vgpu_page_track_handler()
175 intel_vgpu_disable_page_track(vgpu, gpa >> PAGE_SHIFT); in intel_vgpu_page_track_handler()
177 ret = page_track->handler(page_track, gpa, data, bytes); in intel_vgpu_page_track_handler()
179 gvt_err("guest page write error, gpa %llx\n", gpa); in intel_vgpu_page_track_handler()
Dmpt.h195 unsigned long gpa, void *buf, unsigned long len) in intel_gvt_hypervisor_read_gpa() argument
197 return intel_gvt_host.mpt->read_gpa(vgpu->handle, gpa, buf, len); in intel_gvt_hypervisor_read_gpa()
211 unsigned long gpa, void *buf, unsigned long len) in intel_gvt_hypervisor_write_gpa() argument
213 return intel_gvt_host.mpt->write_gpa(vgpu->handle, gpa, buf, len); in intel_gvt_hypervisor_write_gpa()
Dpage_track.h35 u64 gpa, void *data, int bytes);
56 int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa,
/Linux-v5.15/tools/testing/selftests/kvm/
Dmemslot_perf_test.c182 static void *vm_gpa2hva(struct vm_data *data, uint64_t gpa, uint64_t *rempages) in vm_gpa2hva() argument
188 TEST_ASSERT(gpa >= MEM_GPA, "Too low gpa to translate"); in vm_gpa2hva()
189 TEST_ASSERT(gpa < MEM_GPA + data->npages * 4096, in vm_gpa2hva()
191 gpa -= MEM_GPA; in vm_gpa2hva()
193 gpage = gpa / 4096; in vm_gpa2hva()
194 pgoffs = gpa % 4096; in vm_gpa2hva()
292 uint64_t gpa; in prepare_vm() local
298 gpa = vm_phy_pages_alloc(data->vm, npages, guest_addr, in prepare_vm()
300 TEST_ASSERT(gpa == guest_addr, in prepare_vm()
585 uint64_t gpa, ctr; in test_memslot_do_unmap() local
[all …]
Dmemslot_modification_stress_test.c76 uint64_t gpa; in add_remove_memslot() local
83 gpa = guest_test_phys_mem - pages * vm_get_page_size(vm); in add_remove_memslot()
87 vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa, in add_remove_memslot()
/Linux-v5.15/arch/arm64/kvm/
Dhypercalls.c66 gpa_t gpa; in kvm_hvc_call_handler() local
119 gpa = kvm_init_stolen_time(vcpu); in kvm_hvc_call_handler()
120 if (gpa != GPA_INVALID) in kvm_hvc_call_handler()
121 val[0] = gpa; in kvm_hvc_call_handler()
/Linux-v5.15/arch/mips/kvm/
Dmmu.c450 gpa_t gpa = range->start << PAGE_SHIFT; in kvm_set_spte_gfn() local
452 pte_t *gpa_pte = kvm_mips_pte_for_gpa(kvm, NULL, gpa); in kvm_set_spte_gfn()
485 gpa_t gpa = range->start << PAGE_SHIFT; in kvm_test_age_gfn() local
486 pte_t *gpa_pte = kvm_mips_pte_for_gpa(kvm, NULL, gpa); in kvm_test_age_gfn()
511 static int _kvm_mips_map_page_fast(struct kvm_vcpu *vcpu, unsigned long gpa, in _kvm_mips_map_page_fast() argument
516 gfn_t gfn = gpa >> PAGE_SHIFT; in _kvm_mips_map_page_fast()
525 ptep = kvm_mips_pte_for_gpa(kvm, NULL, gpa); in _kvm_mips_map_page_fast()
587 static int kvm_mips_map_page(struct kvm_vcpu *vcpu, unsigned long gpa, in kvm_mips_map_page() argument
593 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_mips_map_page()
603 err = _kvm_mips_map_page_fast(vcpu, gpa, write_fault, out_entry, in kvm_mips_map_page()
[all …]
/Linux-v5.15/arch/x86/kvm/vmx/
Dsgx.c75 gpa_t *gpa) in sgx_gva_to_gpa() argument
80 *gpa = kvm_mmu_gva_to_gpa_write(vcpu, gva, &ex); in sgx_gva_to_gpa()
82 *gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, &ex); in sgx_gva_to_gpa()
84 if (*gpa == UNMAPPED_GVA) { in sgx_gva_to_gpa()
92 static int sgx_gpa_to_hva(struct kvm_vcpu *vcpu, gpa_t gpa, unsigned long *hva) in sgx_gpa_to_hva() argument
94 *hva = kvm_vcpu_gfn_to_hva(vcpu, PFN_DOWN(gpa)); in sgx_gpa_to_hva()
96 sgx_handle_emulation_failure(vcpu, gpa, 1); in sgx_gpa_to_hva()
100 *hva |= gpa & ~PAGE_MASK; in sgx_gpa_to_hva()
Dvmx_ops.h20 void invept_error(unsigned long ext, u64 eptp, gpa_t gpa);
268 static inline void __invept(unsigned long ext, u64 eptp, gpa_t gpa) in __invept() argument
271 u64 eptp, gpa; in __invept() member
272 } operand = {eptp, gpa}; in __invept()
274 vmx_asm2(invept, "r"(ext), "m"(operand), ext, eptp, gpa); in __invept()
/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
63 TEST_ASSERT((gpa % vm->page_size) == 0, in virt_pg_map()
67 TEST_ASSERT((gpa >> vm->page_shift) <= vm->max_gfn, in virt_pg_map()
85 "WARNING: PTE for gpa=0x%"PRIx64" already set!\n", gpa); in virt_pg_map()
86 entry[idx] = gpa; in virt_pg_map()
/Linux-v5.15/arch/arm64/include/asm/
Dkvm_mmu.h232 gpa_t gpa, void *data, unsigned long len)
235 int ret = kvm_read_guest(kvm, gpa, data, len);
242 static inline int kvm_write_guest_lock(struct kvm *kvm, gpa_t gpa,
246 int ret = kvm_write_guest(kvm, gpa, data, len);
/Linux-v5.15/drivers/misc/sgi-gru/
Dgrufault.c253 int write, int atomic, unsigned long *gpa, int *pageshift) in gru_vtop() argument
279 *gpa = uv_soc_phys_ram_to_gpa(paddr); in gru_vtop()
316 unsigned long vaddr = 0, gpa; in gru_preload_tlb() local
332 ret = gru_vtop(gts, vaddr, write, atomic, &gpa, &pageshift); in gru_preload_tlb()
333 if (ret || tfh_write_only(tfh, gpa, GAA_RAM, vaddr, asid, write, in gru_preload_tlb()
339 vaddr, asid, write, pageshift, gpa); in gru_preload_tlb()
363 unsigned long gpa = 0, vaddr = 0; in gru_try_dropin() local
413 ret = gru_vtop(gts, vaddr, write, atomic, &gpa, &pageshift); in gru_try_dropin()
434 tfh_write_restart(tfh, gpa, GAA_RAM, vaddr, asid, write, in gru_try_dropin()
440 indexway, write, pageshift, gpa); in gru_try_dropin()
/Linux-v5.15/arch/x86/xen/
Dmmu_hvm.c53 a.gpa = __pa(mm->pgd); in xen_hvm_exit_mmap()
64 a.gpa = 0x00; in is_pagetable_dying_supported()
/Linux-v5.15/include/linux/
Dkvm_host.h290 gpa_t gpa; member
873 int kvm_read_guest(struct kvm *kvm, gpa_t gpa, void *data, unsigned long len);
881 int kvm_write_guest(struct kvm *kvm, gpa_t gpa, const void *data,
889 gpa_t gpa, unsigned long len);
902 #define kvm_get_guest(kvm, gpa, v) \ argument
904 gpa_t __gpa = gpa; \
924 #define kvm_put_guest(kvm, gpa, v) \ argument
926 gpa_t __gpa = gpa; \
933 int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len);
945 int kvm_vcpu_map(struct kvm_vcpu *vcpu, gpa_t gpa, struct kvm_host_map *map);
[all …]
/Linux-v5.15/arch/x86/include/asm/
Dkvm_page_track.h35 void (*track_write)(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new,
71 void kvm_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new,

12345