Home
last modified time | relevance | path

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

/linux-4.4.14/arch/powerpc/kvm/
Dbook3s_64_mmu_hv.c175 void kvmppc_map_vrma(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot, in kvmppc_map_vrma() argument
189 npages = memslot->npages >> (porder - PAGE_SHIFT); in kvmppc_map_vrma()
445 struct kvm_memory_slot *memslot; in kvmppc_book3s_hv_page_fault() local
485 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_book3s_hv_page_fault()
487 trace_kvm_page_fault_enter(vcpu, hpte, memslot, ea, dsisr); in kvmppc_book3s_hv_page_fault()
490 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_book3s_hv_page_fault()
498 if (gfn_base < memslot->base_gfn) in kvmppc_book3s_hv_page_fault()
513 hva = gfn_to_hva_memslot(memslot, gfn); in kvmppc_book3s_hv_page_fault()
594 rmap = &memslot->arch.rmap[gfn_base - memslot->base_gfn]; in kvmppc_book3s_hv_page_fault()
650 struct kvm_memory_slot *memslot; in kvmppc_rmap_reset() local
[all …]
Dtrace_hv.h275 struct kvm_memory_slot *memslot, unsigned long ea,
278 TP_ARGS(vcpu, hptep, memslot, ea, dsisr),
298 __entry->base_gfn = memslot ? memslot->base_gfn : -1UL;
299 __entry->slot_flags = memslot ? memslot->flags : 0;
Dbook3s_hv_rm_mmu.c119 struct kvm_memory_slot *memslot; in revmap_for_hpte() local
124 memslot = __gfn_to_memslot(kvm_memslots_raw(kvm), gfn); in revmap_for_hpte()
125 if (!memslot) in revmap_for_hpte()
128 rmap = real_vmalloc_addr(&memslot->arch.rmap[gfn - memslot->base_gfn]); in revmap_for_hpte()
176 struct kvm_memory_slot *memslot; in kvmppc_do_h_enter() local
200 memslot = __gfn_to_memslot(kvm_memslots_raw(kvm), gfn); in kvmppc_do_h_enter()
204 if (!(memslot && !(memslot->flags & KVM_MEMSLOT_INVALID))) { in kvmppc_do_h_enter()
212 if (!slot_is_aligned(memslot, psize)) in kvmppc_do_h_enter()
214 slot_fn = gfn - memslot->base_gfn; in kvmppc_do_h_enter()
215 rmap = &memslot->arch.rmap[slot_fn]; in kvmppc_do_h_enter()
[all …]
Dbook3s_pr.c257 struct kvm_memory_slot *memslot; in do_kvm_unmap_hva() local
260 kvm_for_each_memslot(memslot, slots) { in do_kvm_unmap_hva()
264 hva_start = max(start, memslot->userspace_addr); in do_kvm_unmap_hva()
265 hva_end = min(end, memslot->userspace_addr + in do_kvm_unmap_hva()
266 (memslot->npages << PAGE_SHIFT)); in do_kvm_unmap_hva()
273 gfn = hva_to_gfn_memslot(hva_start, memslot); in do_kvm_unmap_hva()
274 gfn_end = hva_to_gfn_memslot(hva_end + PAGE_SIZE - 1, memslot); in do_kvm_unmap_hva()
1534 struct kvm_memory_slot *memslot; in kvm_vm_ioctl_get_dirty_log_pr() local
1550 memslot = id_to_memslot(slots, log->slot); in kvm_vm_ioctl_get_dirty_log_pr()
1552 ga = memslot->base_gfn << PAGE_SHIFT; in kvm_vm_ioctl_get_dirty_log_pr()
[all …]
Dbook3s.h16 struct kvm_memory_slot *memslot);
Dbook3s_hv.c2786 struct kvm_memory_slot *memslot; in kvm_vm_ioctl_get_dirty_log_hv() local
2797 memslot = id_to_memslot(slots, log->slot); in kvm_vm_ioctl_get_dirty_log_hv()
2799 if (!memslot->dirty_bitmap) in kvm_vm_ioctl_get_dirty_log_hv()
2802 n = kvm_dirty_bitmap_bytes(memslot); in kvm_vm_ioctl_get_dirty_log_hv()
2803 memset(memslot->dirty_bitmap, 0, n); in kvm_vm_ioctl_get_dirty_log_hv()
2805 r = kvmppc_hv_get_dirty_log(kvm, memslot, memslot->dirty_bitmap); in kvm_vm_ioctl_get_dirty_log_hv()
2810 if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n)) in kvm_vm_ioctl_get_dirty_log_hv()
2839 struct kvm_memory_slot *memslot, in kvmppc_core_prepare_memory_region_hv() argument
2852 struct kvm_memory_slot *memslot; in kvmppc_core_commit_memory_region_hv() local
2862 memslot = id_to_memslot(slots, mem->slot); in kvmppc_core_commit_memory_region_hv()
[all …]
Dbook3s.c755 void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvmppc_core_flush_memslot() argument
757 kvm->arch.kvm_ops->flush_memslot(kvm, memslot); in kvmppc_core_flush_memslot()
761 struct kvm_memory_slot *memslot, in kvmppc_core_prepare_memory_region() argument
764 return kvm->arch.kvm_ops->prepare_memory_region(kvm, memslot, mem); in kvmppc_core_prepare_memory_region()
Dpowerpc.c600 struct kvm_memory_slot *memslot, in kvm_arch_prepare_memory_region() argument
604 return kvmppc_core_prepare_memory_region(kvm, memslot, mem); in kvm_arch_prepare_memory_region()
Dbooke.c1788 struct kvm_memory_slot *memslot, in kvmppc_core_prepare_memory_region() argument
1801 void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot) in kvmppc_core_flush_memslot() argument
/linux-4.4.14/arch/arm/kvm/
Dmmu.c53 static bool memslot_is_logging(struct kvm_memory_slot *memslot) in memslot_is_logging() argument
55 return memslot->dirty_bitmap && !(memslot->flags & KVM_MEM_READONLY); in memslot_is_logging()
355 struct kvm_memory_slot *memslot) in stage2_flush_memslot() argument
357 phys_addr_t addr = memslot->base_gfn << PAGE_SHIFT; in stage2_flush_memslot()
358 phys_addr_t end = addr + PAGE_SIZE * memslot->npages; in stage2_flush_memslot()
379 struct kvm_memory_slot *memslot; in stage2_flush_vm() local
386 kvm_for_each_memslot(memslot, slots) in stage2_flush_vm()
387 stage2_flush_memslot(kvm, memslot); in stage2_flush_vm()
745 struct kvm_memory_slot *memslot) in stage2_unmap_memslot() argument
747 hva_t hva = memslot->userspace_addr; in stage2_unmap_memslot()
[all …]
/linux-4.4.14/arch/x86/kvm/
Diommu.c155 struct kvm_memory_slot *memslot; in kvm_iommu_map_memslots() local
163 kvm_for_each_memslot(memslot, slots) { in kvm_iommu_map_memslots()
164 r = kvm_iommu_map_pages(kvm, memslot); in kvm_iommu_map_memslots()
325 struct kvm_memory_slot *memslot; in kvm_iommu_unmap_memslots() local
330 kvm_for_each_memslot(memslot, slots) in kvm_iommu_unmap_memslots()
331 kvm_iommu_unmap_pages(kvm, memslot); in kvm_iommu_unmap_memslots()
Dmmu.c1506 struct kvm_memory_slot *memslot; in kvm_handle_hva_range() local
1513 kvm_for_each_memslot(memslot, slots) { in kvm_handle_hva_range()
1517 hva_start = max(start, memslot->userspace_addr); in kvm_handle_hva_range()
1518 hva_end = min(end, memslot->userspace_addr + in kvm_handle_hva_range()
1519 (memslot->npages << PAGE_SHIFT)); in kvm_handle_hva_range()
1526 gfn_start = hva_to_gfn_memslot(hva_start, memslot); in kvm_handle_hva_range()
1527 gfn_end = hva_to_gfn_memslot(hva_end + PAGE_SIZE - 1, memslot); in kvm_handle_hva_range()
1529 for_each_slot_rmap_range(memslot, PT_PAGE_TABLE_LEVEL, in kvm_handle_hva_range()
1533 ret |= handler(kvm, iterator.rmap, memslot, in kvm_handle_hva_range()
4504 slot_handle_level_range(struct kvm *kvm, struct kvm_memory_slot *memslot, in slot_handle_level_range() argument
[all …]
Dvmx.c10574 struct kvm_memory_slot *memslot, in vmx_enable_log_dirty_pt_masked() argument
10577 kvm_mmu_clear_dirty_pt_masked(kvm, memslot, offset, mask); in vmx_enable_log_dirty_pt_masked()
Dx86.c7871 struct kvm_memory_slot *memslot, in kvm_arch_prepare_memory_region() argument
/linux-4.4.14/virt/kvm/
Dkvm_main.c115 static void mark_page_dirty_in_slot(struct kvm_memory_slot *memslot, gfn_t gfn);
506 static void kvm_destroy_dirty_bitmap(struct kvm_memory_slot *memslot) in kvm_destroy_dirty_bitmap() argument
508 if (!memslot->dirty_bitmap) in kvm_destroy_dirty_bitmap()
511 kvfree(memslot->dirty_bitmap); in kvm_destroy_dirty_bitmap()
512 memslot->dirty_bitmap = NULL; in kvm_destroy_dirty_bitmap()
531 struct kvm_memory_slot *memslot; in kvm_free_memslots() local
536 kvm_for_each_memslot(memslot, slots) in kvm_free_memslots()
537 kvm_free_memslot(kvm, memslot, NULL); in kvm_free_memslots()
703 static int kvm_create_dirty_bitmap(struct kvm_memory_slot *memslot) in kvm_create_dirty_bitmap() argument
705 unsigned long dirty_bytes = 2 * kvm_dirty_bitmap_bytes(memslot); in kvm_create_dirty_bitmap()
[all …]
/linux-4.4.14/arch/powerpc/include/asm/
Dkvm_book3s_64.h381 static inline bool slot_is_aligned(struct kvm_memory_slot *memslot, in slot_is_aligned() argument
388 return !(memslot->base_gfn & mask) && !(memslot->npages & mask); in slot_is_aligned()
Dkvm_ppc.h164 struct kvm_memory_slot *memslot, unsigned long porder);
184 struct kvm_memory_slot *memslot,
193 struct kvm_memory_slot *memslot);
244 void (*flush_memslot)(struct kvm *kvm, struct kvm_memory_slot *memslot);
246 struct kvm_memory_slot *memslot,
Dkvm_book3s.h177 struct kvm_memory_slot *memslot, unsigned long *map);
/linux-4.4.14/include/linux/
Dkvm_types.h63 struct kvm_memory_slot *memslot; member
Dkvm_host.h308 static inline unsigned long kvm_dirty_bitmap_bytes(struct kvm_memory_slot *memslot) in kvm_dirty_bitmap_bytes() argument
310 return ALIGN(memslot->npages, BITS_PER_LONG) / 8; in kvm_dirty_bitmap_bytes()
474 #define kvm_for_each_memslot(memslot, slots) \ argument
475 for (memslot = &slots->memslots[0]; \
476 memslot < slots->memslots + KVM_MEM_SLOTS_NUM && memslot->npages;\
477 memslot++)
576 struct kvm_memory_slot *memslot,
/linux-4.4.14/arch/mips/kvm/
Dmips.c201 struct kvm_memory_slot *memslot, in kvm_arch_prepare_memory_region() argument
977 struct kvm_memory_slot *memslot; in kvm_vm_ioctl_get_dirty_log() local
992 memslot = id_to_memslot(slots, log->slot); in kvm_vm_ioctl_get_dirty_log()
994 ga = memslot->base_gfn << PAGE_SHIFT; in kvm_vm_ioctl_get_dirty_log()
995 ga_end = ga + (memslot->npages << PAGE_SHIFT); in kvm_vm_ioctl_get_dirty_log()
1000 n = kvm_dirty_bitmap_bytes(memslot); in kvm_vm_ioctl_get_dirty_log()
1001 memset(memslot->dirty_bitmap, 0, n); in kvm_vm_ioctl_get_dirty_log()
/linux-4.4.14/arch/ia64/include/asm/sn/
Dgeo.h62 char memslot; /* The memory slot on the bus */ member
/linux-4.4.14/arch/s390/kvm/
Dkvm-s390.c267 struct kvm_memory_slot *memslot) in kvm_s390_sync_dirty_log() argument
275 last_gfn = memslot->base_gfn + memslot->npages; in kvm_s390_sync_dirty_log()
276 for (cur_gfn = memslot->base_gfn; cur_gfn <= last_gfn; cur_gfn++) { in kvm_s390_sync_dirty_log()
277 address = gfn_to_hva_memslot(memslot, cur_gfn); in kvm_s390_sync_dirty_log()
295 struct kvm_memory_slot *memslot; in kvm_vm_ioctl_get_dirty_log() local
305 memslot = id_to_memslot(slots, log->slot); in kvm_vm_ioctl_get_dirty_log()
307 if (!memslot->dirty_bitmap) in kvm_vm_ioctl_get_dirty_log()
310 kvm_s390_sync_dirty_log(kvm, memslot); in kvm_vm_ioctl_get_dirty_log()
317 n = kvm_dirty_bitmap_bytes(memslot); in kvm_vm_ioctl_get_dirty_log()
318 memset(memslot->dirty_bitmap, 0, n); in kvm_vm_ioctl_get_dirty_log()
[all …]
/linux-4.4.14/arch/x86/include/asm/
Dkvm_host.h936 struct kvm_memory_slot *memslot);
938 const struct kvm_memory_slot *memslot);
940 struct kvm_memory_slot *memslot);
942 struct kvm_memory_slot *memslot);
944 struct kvm_memory_slot *memslot);
/linux-4.4.14/Documentation/virtual/kvm/
Dmmu.txt180 to a memslot, through the kvm_memslots_for_spte_role macro and
426 information in leaf sptes. When a new memslot is added or an existing
427 memslot is changed, this information may become stale and needs to be
452 memslot update, while some SRCU readers might be using the old copy. We do not