/linux-4.4.14/arch/powerpc/kvm/ |
D | book3s_64_mmu_hv.c | 175 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 …]
|
D | trace_hv.h | 275 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;
|
D | book3s_hv_rm_mmu.c | 119 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 …]
|
D | book3s_pr.c | 257 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 …]
|
D | book3s.h | 16 struct kvm_memory_slot *memslot);
|
D | book3s_hv.c | 2786 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 …]
|
D | book3s.c | 755 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()
|
D | powerpc.c | 600 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()
|
D | booke.c | 1788 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/ |
D | mmu.c | 53 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/ |
D | iommu.c | 155 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()
|
D | mmu.c | 1506 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 …]
|
D | vmx.c | 10574 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()
|
D | x86.c | 7871 struct kvm_memory_slot *memslot, in kvm_arch_prepare_memory_region() argument
|
/linux-4.4.14/virt/kvm/ |
D | kvm_main.c | 115 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/ |
D | kvm_book3s_64.h | 381 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()
|
D | kvm_ppc.h | 164 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,
|
D | kvm_book3s.h | 177 struct kvm_memory_slot *memslot, unsigned long *map);
|
/linux-4.4.14/include/linux/ |
D | kvm_types.h | 63 struct kvm_memory_slot *memslot; member
|
D | kvm_host.h | 308 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/ |
D | mips.c | 201 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/ |
D | geo.h | 62 char memslot; /* The memory slot on the bus */ member
|
/linux-4.4.14/arch/s390/kvm/ |
D | kvm-s390.c | 267 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/ |
D | kvm_host.h | 936 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/ |
D | mmu.txt | 180 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
|