| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | private_mem_conversions_test.c | 30 #define memcmp_g(gpa, pattern, size) \ argument 32 u8 *mem = (u8 *)gpa; \ 38 pattern, i, gpa + i, mem[i]); \ 41 static void memcmp_h(u8 *mem, gpa_t gpa, u8 pattern, size_t size) in memcmp_h() argument 48 pattern, gpa + i, mem[i]); in memcmp_h() 73 static void guest_sync_shared(gpa_t gpa, u64 size, in guest_sync_shared() argument 76 GUEST_SYNC5(SYNC_SHARED, gpa, size, current_pattern, new_pattern); in guest_sync_shared() 79 static void guest_sync_private(gpa_t gpa, u64 size, u8 pattern) in guest_sync_private() argument 81 GUEST_SYNC4(SYNC_PRIVATE, gpa, size, pattern); in guest_sync_private() 89 static void guest_map_mem(gpa_t gpa, u64 size, bool map_shared, in guest_map_mem() argument [all …]
|
| H A D | svm_nested_vmcb12_gpa.c | 31 static void l1_vmrun(struct svm_test_data *svm, gpa_t gpa) in l1_vmrun() argument 35 asm volatile ("vmrun %[gpa]" : : [gpa] "a" (gpa) : "memory"); in l1_vmrun() 38 static void l1_vmload(struct svm_test_data *svm, gpa_t gpa) in l1_vmload() argument 42 asm volatile ("vmload %[gpa]" : : [gpa] "a" (gpa) : "memory"); in l1_vmload() 45 static void l1_vmsave(struct svm_test_data *svm, gpa_t gpa) in l1_vmsave() argument 49 asm volatile ("vmsave %[gpa]" : : [gpa] "a" (gpa) : "memory"); in l1_vmsave() 52 static void l1_vmexit(struct svm_test_data *svm, gpa_t gpa) in l1_vmexit() argument
|
| /linux/tools/testing/selftests/kvm/ |
| H A D | mmu_stress_test.c | 25 gpa_t gpa; in guest_code() local 29 for (gpa = start_gpa; gpa < end_gpa; gpa += stride) in guest_code() 30 vcpu_arch_put_guest(*((volatile u64 *)gpa), gpa); in guest_code() 34 for (gpa = start_gpa; gpa < end_gpa; gpa += stride) in guest_code() 35 *((volatile u64 *)gpa); in guest_code() 52 for (gpa = start_gpa; gpa < end_gpa; gpa += stride) in guest_code() 54 asm volatile(".byte 0x48,0x89,0x00" :: "a"(gpa) : "memory"); /* mov %rax, (%rax) */ in guest_code() 56 asm volatile("str %0, [%0]" :: "r" (gpa) : "memory"); in guest_code() 58 vcpu_arch_put_guest(*((volatile u64 *)gpa), gpa); in guest_code() 70 for (gpa = start_gpa; gpa < end_gpa; gpa += stride) in guest_code() [all …]
|
| H A D | pre_fault_memory_test.c | 36 gpa_t gpa; member 58 vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, data->gpa, in delete_slot_worker() 68 .gpa = base_gpa + offset, in pre_fault_memory() 74 .gpa = base_gpa, in pre_fault_memory() 164 gpa_t gpa, gva, alignment, guest_page_size; in __test_pre_fault_memory() local 177 gpa = (vm->max_gfn - TEST_NPAGES) * guest_page_size; in __test_pre_fault_memory() 179 gpa = align_down(gpa, alignment); in __test_pre_fault_memory() 180 gva = gpa & ((1ULL << (vm->va_bits - 1)) - 1); in __test_pre_fault_memory() 182 vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa, TEST_SLOT, in __test_pre_fault_memory() 184 virt_map(vm, gva, gpa, TEST_NPAGES); in __test_pre_fault_memory() [all …]
|
| H A D | memslot_perf_test.c | 189 static void *vm_gpa2hva(struct vm_data *data, gpa_t gpa, u64 *rempages) in vm_gpa2hva() argument 196 TEST_ASSERT(gpa >= MEM_GPA, "Too low gpa to translate"); in vm_gpa2hva() 197 TEST_ASSERT(gpa < MEM_GPA + data->npages * guest_page_size, in vm_gpa2hva() 199 gpa -= MEM_GPA; in vm_gpa2hva() 201 gpage = gpa / guest_page_size; in vm_gpa2hva() 202 pgoffs = gpa % guest_page_size; in vm_gpa2hva() 335 gpa_t gpa; in prepare_vm() local 341 gpa = vm_phy_pages_alloc(data->vm, npages, guest_addr, slot); in prepare_vm() 342 TEST_ASSERT(gpa == guest_addr, in prepare_vm() 641 gpa_t gpa, ctr; in test_memslot_do_unmap() local [all …]
|
| /linux/arch/powerpc/kvm/ |
| H A D | book3s_64_mmu_radix.c | 149 u64 pte, base, gpa; in kvmppc_mmu_walk_radix_tree() local 204 gpa = pte & 0x01fffffffffff000ul; in kvmppc_mmu_walk_radix_tree() 205 if (gpa & ((1ul << offset) - 1)) in kvmppc_mmu_walk_radix_tree() 207 gpa |= eaddr & ((1ul << offset) - 1); in kvmppc_mmu_walk_radix_tree() 215 gpte->raddr = gpa; in kvmppc_mmu_walk_radix_tree() 423 void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, unsigned long gpa, in kvmppc_unmap_pte() argument 430 unsigned long gfn = gpa >> PAGE_SHIFT; in kvmppc_unmap_pte() 434 old = kvmppc_radix_update_pte(kvm, pte, ~0UL, 0, gpa, shift); in kvmppc_unmap_pte() 435 kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid); in kvmppc_unmap_pte() 454 gpa &= ~(page_size - 1); in kvmppc_unmap_pte() [all …]
|
| H A D | book3s_hv_uvmem.c | 234 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/virt/kvm/ |
| H A D | pfncache.c | 60 static bool kvm_gpc_is_valid_len(gpa_t gpa, unsigned long uhva, in kvm_gpc_is_valid_len() argument 63 unsigned long offset = kvm_is_error_gpa(gpa) ? offset_in_page(uhva) : in kvm_gpc_is_valid_len() 64 offset_in_page(gpa); in kvm_gpc_is_valid_len() 84 if (!kvm_is_error_gpa(gpc->gpa) && gpc->generation != slots->generation) in kvm_gpc_check() 90 if (!kvm_gpc_is_valid_len(gpc->gpa, gpc->uhva, len)) in kvm_gpc_check() 166 .gfn = gpa_to_gfn(gpc->gpa), in hva_to_pfn_retry() 177 * Invalidate the cache prior to dropping gpc->lock, the gpa=>uhva in hva_to_pfn_retry() 179 * different task may not fail the gpa/uhva/generation checks. in hva_to_pfn_retry() 256 static int __kvm_gpc_refresh(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned long uhva) in __kvm_gpc_refresh() 266 /* Either gpa o in __kvm_gpc_refresh() 248 __kvm_gpc_refresh(struct gfn_to_pfn_cache * gpc,gpa_t gpa,unsigned long uhva) __kvm_gpc_refresh() argument 389 __kvm_gpc_activate(struct gfn_to_pfn_cache * gpc,gpa_t gpa,unsigned long uhva,unsigned long len) __kvm_gpc_activate() argument 419 kvm_gpc_activate(struct gfn_to_pfn_cache * gpc,gpa_t gpa,unsigned long len) kvm_gpc_activate() argument [all...] |
| /linux/arch/x86/include/asm/uv/ |
| H A D | uv_hub.h | 461 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/tools/testing/selftests/kvm/lib/ |
| H A D | memstress.c | 108 vcpu_args->gpa = args->gpa + (i * vcpu_memory_bytes); in memstress_setup_vcpus() 113 vcpu_args->gpa = args->gpa; in memstress_setup_vcpus() 119 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, args->gpa + args->size); in memstress_create_vm() 206 gpa_t region_start = args->gpa + region_pages * args->guest_page_size * i; in memstress_create_vm() 214 virt_map(vm, guest_test_virt_mem, args->gpa, guest_num_pages); in memstress_create_vm()
|
| H A D | kvm_util.c | 922 gpa_t gpa, u64 size, void *hva) in __vm_set_user_memory_region() argument 927 .guest_phys_addr = gpa, in __vm_set_user_memory_region() 936 gpa_t gpa, u64 size, void *hva) in vm_set_user_memory_region() argument 938 int ret = __vm_set_user_memory_region(vm, slot, flags, gpa, size, hva); in vm_set_user_memory_region() 949 gpa_t gpa, u64 size, void *hva, in __vm_set_user_memory_region2() argument 955 .guest_phys_addr = gpa, in __vm_set_user_memory_region2() 968 gpa_t gpa, u64 size, void *hva, in vm_set_user_memory_region2() argument 971 int ret = __vm_set_user_memory_region2(vm, slot, flags, gpa, size, hva, in vm_set_user_memory_region2() 981 gpa_t gpa, u32 slot, u64 npages, u32 flags, in vm_mem_add() argument 996 TEST_ASSERT((gpa % vm->page_size) == 0, "Guest physical " in vm_mem_add() [all …]
|
| /linux/arch/s390/kvm/ |
| H A D | vsie.c | 687 static int pin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t *hpa) in pin_guest_page() argument 691 page = gfn_to_page(kvm, gpa_to_gfn(gpa)); in pin_guest_page() 694 *hpa = (hpa_t)page_to_phys(page) + (gpa & ~PAGE_MASK); in pin_guest_page() 699 static void unpin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t hpa) in unpin_guest_page() argument 703 mark_page_dirty(kvm, gpa_to_gfn(gpa)); in unpin_guest_page() 768 gpa_t gpa; in pin_blocks() local 771 gpa = READ_ONCE(scb_o->scaol) & ~0xfUL; in pin_blocks() 773 gpa |= (u64) READ_ONCE(scb_o->scaoh) << 32; in pin_blocks() 774 if (gpa) { in pin_blocks() 775 if (gpa < 2 * PAGE_SIZE) in pin_blocks() [all …]
|
| H A D | gaccess.c | 444 static int deref_table(struct kvm *kvm, unsigned long gpa, unsigned long *val) in deref_table() argument 446 return kvm_read_guest(kvm, gpa, val, sizeof(*val)); in deref_table() 471 unsigned long *gpa, const union asce asce, in guest_translate_gva() argument 630 *gpa = raddr.addr; in guest_translate_gva() 654 enum gacc_mode mode, gpa_t gpa) in vm_check_access_key_gpa() argument 660 r = dat_get_storage_key(kvm->arch.gmap->asce, gpa_to_gfn(gpa), &storage_key); in vm_check_access_key_gpa() 705 enum gacc_mode mode, union asce asce, gpa_t gpa, in vcpu_check_access_key_gpa() argument 719 r = dat_get_storage_key(vcpu->arch.gmap->asce, gpa_to_gfn(gpa), &storage_key); in vcpu_check_access_key_gpa() 784 unsigned long gpa; in guest_range_to_gpas() local 794 rc = guest_translate_gva(vcpu, ga, &gpa, asce, mode, &prot); in guest_range_to_gpas() [all …]
|
| /linux/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, 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/tools/testing/selftests/kvm/lib/s390/ |
| H A D | processor.c | 15 gpa_t gpa; in virt_arch_pgd_alloc() local 23 gpa = vm_phy_pages_alloc(vm, PAGES_PER_REGION, in virt_arch_pgd_alloc() 26 memset(addr_gpa2hva(vm, gpa), 0xff, PAGES_PER_REGION * vm->page_size); in virt_arch_pgd_alloc() 28 vm->mmu.pgd = gpa; in virt_arch_pgd_alloc() 50 void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, gpa_t gpa) in virt_arch_pg_map() argument 61 TEST_ASSERT((gpa % vm->page_size) == 0, in virt_arch_pg_map() 65 TEST_ASSERT((gpa >> vm->page_shift) <= vm->max_gfn, in virt_arch_pg_map() 83 "WARNING: PTE for gpa=0x%"PRIx64" already set!\n", gpa); in virt_arch_pg_map() 84 entry[idx] = gpa; in virt_arch_pg_map()
|
| /linux/arch/riscv/kvm/ |
| H A D | mmu.c | 35 int kvm_riscv_mmu_ioremap(struct kvm *kvm, gpa_t gpa, phys_addr_t hpa, in kvm_riscv_mmu_ioremap() argument 51 end = (gpa + size + PAGE_SIZE - 1) & PAGE_MASK; in kvm_riscv_mmu_ioremap() 55 for (addr = gpa; addr < end; addr += PAGE_SIZE) { in kvm_riscv_mmu_ioremap() 82 void kvm_riscv_mmu_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size) in kvm_riscv_mmu_iounmap() argument 89 kvm_riscv_gstage_unmap_range(&gstage, gpa, size, false); in kvm_riscv_mmu_iounmap() 128 gpa_t gpa = slot->base_gfn << PAGE_SHIFT; in kvm_arch_flush_shadow_memslot() local 135 kvm_riscv_gstage_unmap_range(&gstage, gpa, size, false); in kvm_arch_flush_shadow_memslot() 398 kvm_pfn_t *hfnp, gpa_t *gpa) in transparent_hugepage_adjust() argument 414 *gpa &= PMD_MASK; in transparent_hugepage_adjust() 425 gpa_t gpa, unsigned long hva, bool is_write, in kvm_riscv_mmu_map() argument [all …]
|
| H A D | tlb.c | 24 gpa_t gpa, gpa_t gpsz, in kvm_riscv_local_hfence_gvma_vmid_gpa() argument 36 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_vmid_gpa() 41 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_vmid_gpa() 52 void kvm_riscv_local_hfence_gvma_gpa(gpa_t gpa, gpa_t gpsz, in kvm_riscv_local_hfence_gvma_gpa() argument 64 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_gpa() 69 for (pos = gpa; pos < (gpa + gpsz); pos += BIT(order)) in kvm_riscv_local_hfence_gvma_gpa() 374 gpa_t gpa, gpa_t gpsz, in kvm_riscv_hfence_gvma_vmid_gpa() argument 382 data.addr = gpa; in kvm_riscv_hfence_gvma_vmid_gpa()
|
| /linux/drivers/gpu/drm/i915/gvt/ |
| H A D | page_track.c | 160 int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa, in intel_vgpu_page_track_handler() argument 166 page_track = intel_vgpu_find_page_track(vgpu, gpa >> PAGE_SHIFT); in intel_vgpu_page_track_handler() 172 intel_gvt_page_track_remove(vgpu, gpa >> PAGE_SHIFT); in intel_vgpu_page_track_handler() 174 ret = page_track->handler(page_track, gpa, data, bytes); in intel_vgpu_page_track_handler() 176 gvt_err("guest page write error, gpa %llx\n", gpa); in intel_vgpu_page_track_handler()
|
| /linux/arch/x86/kvm/vmx/ |
| H A D | common.h | 77 static inline bool vt_is_tdx_private_gpa(struct kvm *kvm, gpa_t gpa) in vt_is_tdx_private_gpa() argument 80 return !kvm_is_addr_direct(kvm, gpa); in vt_is_tdx_private_gpa() 83 static inline int __vmx_handle_ept_violation(struct kvm_vcpu *vcpu, gpa_t gpa, in __vmx_handle_ept_violation() argument 105 if (vt_is_tdx_private_gpa(vcpu->kvm, gpa)) in __vmx_handle_ept_violation() 108 return kvm_mmu_page_fault(vcpu, gpa, error_code, NULL, 0); in __vmx_handle_ept_violation()
|
| /linux/tools/testing/selftests/kvm/include/ |
| H A D | kvm_util.h | 421 static inline void vm_set_memory_attributes(struct kvm_vm *vm, gpa_t gpa, in vm_set_memory_attributes() argument 426 .address = gpa, in vm_set_memory_attributes() 442 static inline void vm_mem_set_private(struct kvm_vm *vm, gpa_t gpa, in vm_mem_set_private() argument 445 vm_set_memory_attributes(vm, gpa, size, KVM_MEMORY_ATTRIBUTE_PRIVATE); in vm_mem_set_private() 448 static inline void vm_mem_set_shared(struct kvm_vm *vm, gpa_t gpa, in vm_mem_set_shared() argument 451 vm_set_memory_attributes(vm, gpa, size, 0); in vm_mem_set_shared() 454 void vm_guest_mem_fallocate(struct kvm_vm *vm, gpa_t gpa, u64 size, 457 static inline void vm_guest_mem_punch_hole(struct kvm_vm *vm, gpa_t gpa, in vm_guest_mem_punch_hole() argument 460 vm_guest_mem_fallocate(vm, gpa, size, true); in vm_guest_mem_punch_hole() 463 static inline void vm_guest_mem_allocate(struct kvm_vm *vm, gpa_t gpa, in vm_guest_mem_allocate() argument [all …]
|
| /linux/arch/loongarch/kvm/ |
| H A D | tlb.c | 24 void kvm_flush_tlb_gpa(struct kvm_vcpu *vcpu, unsigned long gpa) in kvm_flush_tlb_gpa() argument 27 gpa &= (PAGE_MASK << 1); in kvm_flush_tlb_gpa() 28 invtlb(INVTLB_GID_ADDR, read_csr_gstat() & CSR_GSTAT_GID, gpa); in kvm_flush_tlb_gpa()
|
| H A D | mmu.c | 528 gpa_t gpa = range->start << PAGE_SHIFT; in kvm_test_age_gfn() local 529 kvm_pte_t *ptep = kvm_populate_gpa(kvm, NULL, gpa, 0); in kvm_test_age_gfn() 552 static int kvm_map_page_fast(struct kvm_vcpu *vcpu, unsigned long gpa, bool write) in kvm_map_page_fast() argument 556 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_map_page_fast() 563 ptep = kvm_populate_gpa(kvm, NULL, gpa, 0); in kvm_map_page_fast() 772 static int kvm_map_page(struct kvm_vcpu *vcpu, unsigned long gpa, bool write) in kvm_map_page() argument 779 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_map_page() 787 err = kvm_map_page_fast(vcpu, gpa, write); in kvm_map_page() 875 ptep = kvm_populate_gpa(kvm, NULL, gpa, 0); in kvm_map_page() 887 ptep = kvm_populate_gpa(kvm, memcache, gpa, level); in kvm_map_page() [all …]
|
| /linux/arch/riscv/include/asm/ |
| H A D | kvm_mmu.h | 11 int kvm_riscv_mmu_ioremap(struct kvm *kvm, gpa_t gpa, phys_addr_t hpa, 13 void kvm_riscv_mmu_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size); 15 gpa_t gpa, unsigned long hva, bool is_write,
|
| /linux/arch/x86/kvm/ |
| H A D | mmu.h | 103 void kvm_mmu_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new, 291 gpa_t translate_nested_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, u64 access, 296 gpa_t gpa, u64 access, in kvm_translate_gpa() argument 300 return gpa; in kvm_translate_gpa() 301 return translate_nested_gpa(vcpu, gpa, access, exception); in kvm_translate_gpa() 314 static inline bool kvm_is_addr_direct(struct kvm *kvm, gpa_t gpa) in kvm_is_addr_direct() argument 318 return !gpa_direct_bits || (gpa & gpa_direct_bits); in kvm_is_addr_direct()
|
| /linux/tools/testing/selftests/kvm/lib/x86/ |
| H A D | processor.c | 227 gpa_t gpa, in virt_create_upper_pte() argument 233 gpa = vm_untag_gpa(vm, gpa); in virt_create_upper_pte() 240 *pte |= PTE_HUGE_MASK(mmu) | (gpa & PHYSICAL_PAGE_MASK); in virt_create_upper_pte() 260 gpa_t gpa, int level) in __virt_pg_map() argument 274 TEST_ASSERT((gpa % pg_size) == 0, in __virt_pg_map() 276 " gpa: 0x%lx page size: 0x%lx", gpa, pg_size); in __virt_pg_map() 277 TEST_ASSERT((gpa >> vm->page_shift) <= vm->max_gfn, in __virt_pg_map() 280 gpa, vm->max_gfn, vm->page_size); in __virt_pg_map() 281 TEST_ASSERT(vm_untag_gpa(vm, gpa) == gpa, in __virt_pg_map() 282 "Unexpected bits in gpa: %lx", gpa); in __virt_pg_map() [all …]
|