aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kvm/mmu.c')
-rw-r--r--arch/arm/kvm/mmu.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c
index 23360610aeac..b2a708be1407 100644
--- a/arch/arm/kvm/mmu.c
+++ b/arch/arm/kvm/mmu.c
@@ -1111,3 +1111,49 @@ out:
1111 free_hyp_pgds(); 1111 free_hyp_pgds();
1112 return err; 1112 return err;
1113} 1113}
1114
1115void kvm_arch_commit_memory_region(struct kvm *kvm,
1116 struct kvm_userspace_memory_region *mem,
1117 const struct kvm_memory_slot *old,
1118 enum kvm_mr_change change)
1119{
1120 gpa_t gpa = old->base_gfn << PAGE_SHIFT;
1121 phys_addr_t size = old->npages << PAGE_SHIFT;
1122 if (change == KVM_MR_DELETE || change == KVM_MR_MOVE) {
1123 spin_lock(&kvm->mmu_lock);
1124 unmap_stage2_range(kvm, gpa, size);
1125 spin_unlock(&kvm->mmu_lock);
1126 }
1127}
1128
1129int kvm_arch_prepare_memory_region(struct kvm *kvm,
1130 struct kvm_memory_slot *memslot,
1131 struct kvm_userspace_memory_region *mem,
1132 enum kvm_mr_change change)
1133{
1134 return 0;
1135}
1136
1137void kvm_arch_free_memslot(struct kvm *kvm, struct kvm_memory_slot *free,
1138 struct kvm_memory_slot *dont)
1139{
1140}
1141
1142int kvm_arch_create_memslot(struct kvm *kvm, struct kvm_memory_slot *slot,
1143 unsigned long npages)
1144{
1145 return 0;
1146}
1147
1148void kvm_arch_memslots_updated(struct kvm *kvm)
1149{
1150}
1151
1152void kvm_arch_flush_shadow_all(struct kvm *kvm)
1153{
1154}
1155
1156void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
1157 struct kvm_memory_slot *slot)
1158{
1159}