/linux-master/arch/loongarch/kvm/ |
H A D | tlb.c | 24 void kvm_flush_tlb_gpa(struct kvm_vcpu *vcpu, unsigned long gpa) argument 29 gpa &= (PAGE_MASK << 1); 30 invtlb(INVTLB_GID_ADDR, read_csr_gstat() & CSR_GSTAT_GID, gpa);
|
/linux-master/tools/testing/selftests/kvm/x86_64/ |
H A D | private_mem_conversions_test.c | 30 #define memcmp_g(gpa, pattern, size) \ 32 uint8_t *mem = (uint8_t *)gpa; \ 37 "Guest expected 0x%x at offset %lu (gpa 0x%lx), got 0x%x", \ 38 pattern, i, gpa + i, mem[i]); \ 41 static void memcmp_h(uint8_t *mem, uint64_t gpa, uint8_t pattern, size_t size) argument 47 "Host expected 0x%x at gpa 0x%lx, got 0x%x", 48 pattern, gpa + i, mem[i]); 53 * Execute KVM hypercall to map/unmap gpa range which will cause userspace exit 54 * to back/unback private memory. Subsequent accesses by guest to the gpa range 73 static void guest_sync_shared(uint64_t gpa, uint64_ argument 79 guest_sync_private(uint64_t gpa, uint64_t size, uint8_t pattern) argument 89 guest_map_mem(uint64_t gpa, uint64_t size, bool map_shared, bool do_fallocate) argument 101 guest_map_shared(uint64_t gpa, uint64_t size, bool do_fallocate) argument 106 guest_map_private(uint64_t gpa, uint64_t size, bool do_fallocate) argument 137 uint64_t gpa = base_gpa + test_ranges[i].offset; local 217 guest_punch_hole(uint64_t gpa, uint64_t size) argument 242 uint64_t gpa = base_gpa + test_ranges[i].offset; local 292 uint64_t gpa = run->hypercall.args[0]; local 340 uint64_t gpa = uc.args[1]; local 405 uint64_t gpa = BASE_DATA_GPA + i * per_cpu_size; local [all...] |
H A D | smaller_maxphyaddr_emulation_test.c | 52 uint64_t gpa; local 69 gpa = vm_phy_pages_alloc(vm, MEM_REGION_SIZE / PAGE_SIZE, 71 TEST_ASSERT(gpa == MEM_REGION_GPA, "Failed vm_phy_pages_alloc");
|
/linux-master/tools/testing/selftests/kvm/ |
H A D | max_guest_memory_test.c | 21 uint64_t gpa; local 24 for (gpa = start_gpa; gpa < end_gpa; gpa += stride) 25 *((volatile uint64_t *)gpa) = gpa; 91 uint64_t gpa, nr_bytes; local 99 TEST_ASSERT(info, "Failed to allocate vCPU gpa ranges"); 105 for (i = 0, gpa = start_gpa; i < nr_vcpus; i++, gpa 165 uint64_t max_gpa, gpa, slot_size, max_mem, i; local [all...] |
H A D | memslot_modification_stress_test.c | 66 uint64_t gpa; local 73 gpa = memstress_args.gpa - pages * vm->page_size; 77 vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa,
|
/linux-master/arch/x86/kvm/mmu/ |
H A D | page_track.h | 30 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, argument 50 static inline void kvm_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, argument 53 __kvm_page_track_write(vcpu->kvm, gpa, new, bytes); 55 kvm_mmu_track_write(vcpu, gpa, new, bytes);
|
/linux-master/virt/kvm/ |
H A D | pfncache.c | 60 static bool kvm_gpc_is_valid_len(gpa_t gpa, unsigned long uhva, argument 63 unsigned long offset = kvm_is_error_gpa(gpa) ? offset_in_page(uhva) : 64 offset_in_page(gpa); 84 if (!kvm_is_error_gpa(gpc->gpa) && gpc->generation != slots->generation) 90 if (!kvm_gpc_is_valid_len(gpc->gpa, gpc->uhva, len)) 168 * Invalidate the cache prior to dropping gpc->lock, the gpa=>uhva 170 * different task may not fail the gpa/uhva/generation checks. 248 static int __kvm_gpc_refresh(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned long uhva) argument 258 /* Either gpa or uhva must be valid, but not both */ 259 if (WARN_ON_ONCE(kvm_is_error_gpa(gpa) 389 __kvm_gpc_activate(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned long uhva, unsigned long len) argument 419 kvm_gpc_activate(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned long len) argument [all...] |
/linux-master/drivers/gpu/drm/i915/gvt/ |
H A D | page_track.h | 35 u64 gpa, void *data, int bytes); 56 int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa,
|
H A D | page_track.c | 152 * @gpa: the gpa of this write 159 int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa, argument 165 page_track = intel_vgpu_find_page_track(vgpu, gpa >> PAGE_SHIFT); 171 intel_gvt_page_track_remove(vgpu, gpa >> PAGE_SHIFT); 173 ret = page_track->handler(page_track, gpa, data, bytes); 175 gvt_err("guest page write error, gpa %llx\n", gpa);
|
/linux-master/arch/powerpc/kvm/ |
H A D | book3s_64_mmu_radix.c | 149 u64 pte, base, gpa; local 204 gpa = pte & 0x01fffffffffff000ul; 205 if (gpa & ((1ul << offset) - 1)) 207 gpa |= eaddr & ((1ul << offset) - 1); 215 gpte->raddr = gpa; 423 void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, unsigned long gpa, argument 430 unsigned long gfn = gpa >> PAGE_SHIFT; 434 old = kvmppc_radix_update_pte(kvm, pte, ~0UL, 0, gpa, shift); 435 kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid); 454 gpa 574 kvmppc_unmap_free_pmd_entry_table(struct kvm *kvm, pmd_t *pmd, unsigned long gpa, u64 lpid) argument 590 kvmppc_unmap_free_pud_entry_table(struct kvm *kvm, pud_t *pud, unsigned long gpa, u64 lpid) argument 615 kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte, unsigned long gpa, unsigned int level, unsigned long mmu_seq, u64 lpid, unsigned long *rmapp, struct rmap_nested **n_rmap) argument 793 kvmppc_hv_handle_set_rc(struct kvm *kvm, bool nested, bool writing, unsigned long gpa, u64 lpid) argument 821 kvmppc_book3s_instantiate_page(struct kvm_vcpu *vcpu, unsigned long gpa, struct kvm_memory_slot *memslot, bool writing, bool kvm_ro, pte_t *inserted_pte, unsigned int *levelp) argument 949 unsigned long gpa, gfn; local 1036 unsigned long gpa = gfn << PAGE_SHIFT; local 1055 unsigned long gpa = gfn << PAGE_SHIFT; local 1084 unsigned long gpa = gfn << PAGE_SHIFT; local 1102 unsigned long gpa = gfn << PAGE_SHIFT; local 1183 unsigned long gpa; local 1267 unsigned long gpa; member in struct:debugfs_radix_state 1308 unsigned long gpa; local [all...] |
H A D | book3s_hv_uvmem.c | 234 unsigned long gpa; member in struct:kvmppc_uvmem_page_pvt 516 struct kvm *kvm, unsigned long gpa, struct page *fault_page) 536 if (!kvmppc_gfn_is_uvmem_pfn(gpa >> page_shift, kvm, NULL)) 569 gpa, 0, page_shift); 589 struct kvm *kvm, unsigned long gpa, 595 ret = __kvmppc_svm_page_out(vma, start, end, page_shift, kvm, gpa, 645 PAGE_SHIFT, kvm, pvt->gpa, NULL)) 646 pr_err("Can't page out gpa:0x%lx addr:0x%lx\n", 647 pvt->gpa, addr); 695 static struct page *kvmppc_uvmem_get_page(unsigned long gpa, struc argument 513 __kvmppc_svm_page_out(struct vm_area_struct *vma, unsigned long start, unsigned long end, unsigned long page_shift, struct kvm *kvm, unsigned long gpa, struct page *fault_page) argument 586 kvmppc_svm_page_out(struct vm_area_struct *vma, unsigned long start, unsigned long end, unsigned long page_shift, struct kvm *kvm, unsigned long gpa, struct page *fault_page) argument 740 kvmppc_svm_page_in(struct vm_area_struct *vma, unsigned long start, unsigned long end, unsigned long gpa, struct kvm *kvm, unsigned long page_shift, bool pagein) argument 877 kvmppc_share_page(struct kvm *kvm, unsigned long gpa, unsigned long page_shift) argument 936 kvmppc_h_svm_page_in(struct kvm *kvm, unsigned long gpa, unsigned long flags, unsigned long page_shift) argument 1046 kvmppc_h_svm_page_out(struct kvm *kvm, unsigned long gpa, unsigned long flags, unsigned long page_shift) argument [all...] |
/linux-master/arch/s390/kvm/ |
H A D | gaccess.h | 152 unsigned long gpa = gra + kvm_s390_get_prefix(vcpu); local 154 return kvm_write_guest(vcpu->kvm, gpa, data, len); 178 unsigned long gpa = gra + kvm_s390_get_prefix(vcpu); local 180 return kvm_read_guest(vcpu->kvm, gpa, data, len); 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, 357 * @gpa: guest physical (absolute) address 361 * Copy @len bytes from @data (kernel space) to @gpa (gues 371 write_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data, unsigned long len) argument 394 read_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data, unsigned long len) argument [all...] |
H A D | vsie.c | 653 * Pin the guest page given by gpa and set hpa to the pinned host address. 657 * - -EINVAL if the gpa is not valid guest storage 659 static int pin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t *hpa) argument 663 page = gfn_to_page(kvm, gpa_to_gfn(gpa)); 666 *hpa = (hpa_t)page_to_phys(page) + (gpa & ~PAGE_MASK); 671 static void unpin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t hpa) argument 675 mark_page_dirty(kvm, gpa_to_gfn(gpa)); 740 gpa_t gpa; local 743 gpa = READ_ONCE(scb_o->scaol) & ~0xfUL; 745 gpa | 853 unpin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, gpa_t gpa) argument 869 pin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, gpa_t gpa) argument [all...] |
H A D | gaccess.c | 590 static int deref_table(struct kvm *kvm, unsigned long gpa, unsigned long *val) argument 592 return kvm_read_guest(kvm, gpa, val, sizeof(*val)); 599 * @gpa: points to where guest physical (absolute) address should be stored 607 * an addressing exception is indicated and @gpa will not be changed. 609 * Returns: - zero on success; @gpa contains the resulting absolute address 617 unsigned long *gpa, const union asce asce, 776 *gpa = raddr.addr; 800 enum gacc_mode mode, gpa_t gpa) 810 hva = gfn_to_hva(kvm, gpa_to_gfn(gpa)); 863 enum gacc_mode mode, union asce asce, gpa_t gpa, 616 guest_translate(struct kvm_vcpu *vcpu, unsigned long gva, unsigned long *gpa, const union asce asce, enum gacc_mode mode, enum prot_type *prot) argument 799 vm_check_access_key(struct kvm *kvm, u8 access_key, enum gacc_mode mode, gpa_t gpa) argument 862 vcpu_check_access_key(struct kvm_vcpu *vcpu, u8 access_key, enum gacc_mode mode, union asce asce, gpa_t gpa, unsigned long ga, unsigned int len) argument 946 unsigned long gpa; local 981 access_guest_page(struct kvm *kvm, enum gacc_mode mode, gpa_t gpa, void *data, unsigned int len) argument 996 access_guest_page_with_key(struct kvm *kvm, enum gacc_mode mode, gpa_t gpa, void *data, unsigned int len, u8 access_key) argument 1029 access_guest_abs_with_key(struct kvm *kvm, gpa_t gpa, void *data, unsigned long len, enum gacc_mode mode, u8 access_key) argument 1134 unsigned long gpa; local 1172 cmpxchg_guest_abs_with_key(struct kvm *kvm, gpa_t gpa, int len, __uint128_t *old_addr, __uint128_t new, u8 access_key, bool *success) argument 1272 guest_translate_address_with_key(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar, unsigned long *gpa, enum gacc_mode mode, u8 access_key) argument 1321 check_gpa_range(struct kvm *kvm, unsigned long gpa, unsigned long length, enum gacc_mode mode, u8 access_key) argument [all...] |
/linux-master/tools/testing/selftests/kvm/lib/ |
H A D | memstress.c | 108 vcpu_args->gpa = args->gpa + (i * vcpu_memory_bytes); 113 vcpu_args->gpa = args->gpa; 118 pr_debug("Added VCPU %d with test mem gpa [%lx, %lx)\n", 119 i, vcpu_args->gpa, vcpu_args->gpa + 197 args->gpa = (region_end_gfn - guest_num_pages - 1) * args->guest_page_size; 198 args->gpa = align_down(args->gpa, backing_src_pages [all...] |
/linux-master/arch/riscv/kvm/ |
H A D | tlb.c | 21 gpa_t gpa, gpa_t gpsz, 33 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) 38 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) 49 void kvm_riscv_local_hfence_gvma_gpa(gpa_t gpa, gpa_t gpsz, argument 61 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) 66 for (pos = gpa; pos < (gpa 20 kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid, gpa_t gpa, gpa_t gpsz, unsigned long order) argument 332 kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm, unsigned long hbase, unsigned long hmask, gpa_t gpa, gpa_t gpsz, unsigned long order) argument [all...] |
H A D | mmu.c | 179 gpa_t gpa, phys_addr_t hpa, 219 return gstage_set_pte(kvm, level, pcache, gpa, &new_pte); 346 int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa, argument 359 end = (gpa + size + PAGE_SIZE - 1) & PAGE_MASK; 362 for (addr = gpa; addr < end; addr += PAGE_SIZE) { 386 void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size) argument 389 gstage_unmap_range(kvm, gpa, size, false); 425 gpa_t gpa = slot->base_gfn << PAGE_SHIFT; local 429 gstage_unmap_range(kvm, gpa, size, false); 510 gpa_t gpa local 177 gstage_map_page(struct kvm *kvm, struct kvm_mmu_memory_cache *pcache, gpa_t gpa, phys_addr_t hpa, unsigned long page_size, bool page_rdonly, bool page_exec) argument 589 kvm_riscv_gstage_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot, gpa_t gpa, unsigned long hva, bool is_write) argument [all...] |
/linux-master/include/xen/interface/hvm/ |
H A D | hvm_op.h | 25 aligned_u64 gpa; member in struct:xen_hvm_pagetable_dying
|
/linux-master/arch/x86/include/asm/ |
H A D | kvm_page_track.h | 27 * @gpa: the physical address written by guest. 32 void (*track_write)(gpa_t gpa, const u8 *new, int bytes,
|
/linux-master/arch/x86/include/asm/uv/ |
H A D | uv_hub.h | 383 /* global bits offset - number of local address bits in gpa for this UV arch */ 461 uv_gpa_in_mmr_space(unsigned long gpa) argument 463 return (gpa >> 62) == 0x3UL; 467 static inline unsigned long uv_gpa_to_soc_phys_ram(unsigned long gpa) argument 475 gpa = ((gpa << uv_hub_info->m_shift) >> uv_hub_info->m_shift) | 476 ((gpa >> uv_hub_info->n_lshift) << uv_hub_info->m_val); 478 paddr = gpa & uv_hub_info->gpa_mask; 484 /* gpa -> gnode */ 485 static inline unsigned long uv_gpa_to_gnode(unsigned long gpa) argument 496 uv_gpa_to_pnode(unsigned long gpa) argument 502 uv_gpa_to_offset(unsigned long gpa) argument [all...] |
/linux-master/arch/x86/xen/ |
H A D | mmu_hvm.c | 42 a.gpa = __pa(mm->pgd); 53 a.gpa = 0x00;
|
/linux-master/include/linux/ |
H A D | kvm_types.h | 33 * gpa - guest physical address 54 gpa_t gpa; member in struct:gfn_to_hva_cache 62 gpa_t gpa; member in struct:gfn_to_pfn_cache
|
/linux-master/tools/testing/selftests/kvm/include/ |
H A D | memstress.h | 23 uint64_t gpa; member in struct:memstress_vcpu_args 35 uint64_t gpa; member in struct:memstress_args
|
/linux-master/arch/x86/kvm/ |
H A D | cpuid.h | 45 static inline bool kvm_vcpu_is_legal_gpa(struct kvm_vcpu *vcpu, gpa_t gpa) argument 47 return !(gpa & vcpu->arch.reserved_gpa_bits); 51 gpa_t gpa, gpa_t alignment) 53 return IS_ALIGNED(gpa, alignment) && kvm_vcpu_is_legal_gpa(vcpu, gpa); 56 static inline bool page_address_valid(struct kvm_vcpu *vcpu, gpa_t gpa) argument 58 return kvm_vcpu_is_legal_aligned_gpa(vcpu, gpa, PAGE_SIZE); 50 kvm_vcpu_is_legal_aligned_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, gpa_t alignment) argument
|
/linux-master/drivers/misc/sgi-gru/ |
H A D | grukservices.h | 125 * gpa source numalink physical address of GPA 131 int gru_read_gpa(unsigned long *value, unsigned long gpa);
|