aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/kvm/arm.c4
-rw-r--r--arch/ia64/kvm/kvm-ia64.c4
-rw-r--r--arch/mips/kvm/kvm_mips.c4
-rw-r--r--arch/powerpc/kvm/powerpc.c4
-rw-r--r--arch/s390/kvm/kvm-s390.c4
-rw-r--r--arch/x86/kvm/x86.c4
-rw-r--r--include/linux/kvm_host.h1
-rw-r--r--virt/kvm/kvm_main.c5
8 files changed, 29 insertions, 1 deletions
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
index 741f66a2edbd..9c697db2787e 100644
--- a/arch/arm/kvm/arm.c
+++ b/arch/arm/kvm/arm.c
@@ -219,6 +219,10 @@ long kvm_arch_dev_ioctl(struct file *filp,
219 return -EINVAL; 219 return -EINVAL;
220} 220}
221 221
222void kvm_arch_memslots_updated(struct kvm *kvm)
223{
224}
225
222int kvm_arch_prepare_memory_region(struct kvm *kvm, 226int kvm_arch_prepare_memory_region(struct kvm *kvm,
223 struct kvm_memory_slot *memslot, 227 struct kvm_memory_slot *memslot,
224 struct kvm_userspace_memory_region *mem, 228 struct kvm_userspace_memory_region *mem,
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index 5b2dc0d10c8f..bdfd8789b376 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -1560,6 +1560,10 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
1560 return 0; 1560 return 0;
1561} 1561}
1562 1562
1563void kvm_arch_memslots_updated(struct kvm *kvm)
1564{
1565}
1566
1563int kvm_arch_prepare_memory_region(struct kvm *kvm, 1567int kvm_arch_prepare_memory_region(struct kvm *kvm,
1564 struct kvm_memory_slot *memslot, 1568 struct kvm_memory_slot *memslot,
1565 struct kvm_userspace_memory_region *mem, 1569 struct kvm_userspace_memory_region *mem,
diff --git a/arch/mips/kvm/kvm_mips.c b/arch/mips/kvm/kvm_mips.c
index dd203e59e6fd..a7b044536de4 100644
--- a/arch/mips/kvm/kvm_mips.c
+++ b/arch/mips/kvm/kvm_mips.c
@@ -208,6 +208,10 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
208 return 0; 208 return 0;
209} 209}
210 210
211void kvm_arch_memslots_updated(struct kvm *kvm)
212{
213}
214
211int kvm_arch_prepare_memory_region(struct kvm *kvm, 215int kvm_arch_prepare_memory_region(struct kvm *kvm,
212 struct kvm_memory_slot *memslot, 216 struct kvm_memory_slot *memslot,
213 struct kvm_userspace_memory_region *mem, 217 struct kvm_userspace_memory_region *mem,
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 6316ee336e88..ae63ae4a1a5f 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -420,6 +420,10 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
420 return kvmppc_core_create_memslot(slot, npages); 420 return kvmppc_core_create_memslot(slot, npages);
421} 421}
422 422
423void kvm_arch_memslots_updated(struct kvm *kvm)
424{
425}
426
423int kvm_arch_prepare_memory_region(struct kvm *kvm, 427int kvm_arch_prepare_memory_region(struct kvm *kvm,
424 struct kvm_memory_slot *memslot, 428 struct kvm_memory_slot *memslot,
425 struct kvm_userspace_memory_region *mem, 429 struct kvm_userspace_memory_region *mem,
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index ba694d2ba51e..a3d797b689a3 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -1056,6 +1056,10 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
1056 return 0; 1056 return 0;
1057} 1057}
1058 1058
1059void kvm_arch_memslots_updated(struct kvm *kvm)
1060{
1061}
1062
1059/* Section: memory related */ 1063/* Section: memory related */
1060int kvm_arch_prepare_memory_region(struct kvm *kvm, 1064int kvm_arch_prepare_memory_region(struct kvm *kvm,
1061 struct kvm_memory_slot *memslot, 1065 struct kvm_memory_slot *memslot,
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index d21bce505315..9dd8799e87c3 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -7019,6 +7019,10 @@ out_free:
7019 return -ENOMEM; 7019 return -ENOMEM;
7020} 7020}
7021 7021
7022void kvm_arch_memslots_updated(struct kvm *kvm)
7023{
7024}
7025
7022int kvm_arch_prepare_memory_region(struct kvm *kvm, 7026int kvm_arch_prepare_memory_region(struct kvm *kvm,
7023 struct kvm_memory_slot *memslot, 7027 struct kvm_memory_slot *memslot,
7024 struct kvm_userspace_memory_region *mem, 7028 struct kvm_userspace_memory_region *mem,
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index ec590aece366..c11c7686ae5f 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -503,6 +503,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
503void kvm_arch_free_memslot(struct kvm_memory_slot *free, 503void kvm_arch_free_memslot(struct kvm_memory_slot *free,
504 struct kvm_memory_slot *dont); 504 struct kvm_memory_slot *dont);
505int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages); 505int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages);
506void kvm_arch_memslots_updated(struct kvm *kvm);
506int kvm_arch_prepare_memory_region(struct kvm *kvm, 507int kvm_arch_prepare_memory_region(struct kvm *kvm,
507 struct kvm_memory_slot *memslot, 508 struct kvm_memory_slot *memslot,
508 struct kvm_userspace_memory_region *mem, 509 struct kvm_userspace_memory_region *mem,
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 71960fb03c2a..a86735d80ee0 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -731,7 +731,10 @@ static struct kvm_memslots *install_new_memslots(struct kvm *kvm,
731 update_memslots(slots, new, kvm->memslots->generation); 731 update_memslots(slots, new, kvm->memslots->generation);
732 rcu_assign_pointer(kvm->memslots, slots); 732 rcu_assign_pointer(kvm->memslots, slots);
733 synchronize_srcu_expedited(&kvm->srcu); 733 synchronize_srcu_expedited(&kvm->srcu);
734 return old_memslots; 734
735 kvm_arch_memslots_updated(kvm);
736
737 return old_memslots;
735} 738}
736 739
737/* 740/*