diff options
-rw-r--r-- | arch/arm/kvm/arm.c | 4 | ||||
-rw-r--r-- | arch/ia64/kvm/kvm-ia64.c | 4 | ||||
-rw-r--r-- | arch/mips/kvm/kvm_mips.c | 4 | ||||
-rw-r--r-- | arch/powerpc/kvm/powerpc.c | 4 | ||||
-rw-r--r-- | arch/s390/kvm/kvm-s390.c | 4 | ||||
-rw-r--r-- | arch/x86/kvm/x86.c | 4 | ||||
-rw-r--r-- | include/linux/kvm_host.h | 1 | ||||
-rw-r--r-- | virt/kvm/kvm_main.c | 5 |
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 | ||
222 | void kvm_arch_memslots_updated(struct kvm *kvm) | ||
223 | { | ||
224 | } | ||
225 | |||
222 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 226 | int 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 | ||
1563 | void kvm_arch_memslots_updated(struct kvm *kvm) | ||
1564 | { | ||
1565 | } | ||
1566 | |||
1563 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 1567 | int 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 | ||
211 | void kvm_arch_memslots_updated(struct kvm *kvm) | ||
212 | { | ||
213 | } | ||
214 | |||
211 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 215 | int 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 | ||
423 | void kvm_arch_memslots_updated(struct kvm *kvm) | ||
424 | { | ||
425 | } | ||
426 | |||
423 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 427 | int 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 | ||
1059 | void kvm_arch_memslots_updated(struct kvm *kvm) | ||
1060 | { | ||
1061 | } | ||
1062 | |||
1059 | /* Section: memory related */ | 1063 | /* Section: memory related */ |
1060 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 1064 | int 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 | ||
7022 | void kvm_arch_memslots_updated(struct kvm *kvm) | ||
7023 | { | ||
7024 | } | ||
7025 | |||
7022 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 7026 | int 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, | |||
503 | void kvm_arch_free_memslot(struct kvm_memory_slot *free, | 503 | void kvm_arch_free_memslot(struct kvm_memory_slot *free, |
504 | struct kvm_memory_slot *dont); | 504 | struct kvm_memory_slot *dont); |
505 | int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages); | 505 | int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages); |
506 | void kvm_arch_memslots_updated(struct kvm *kvm); | ||
506 | int kvm_arch_prepare_memory_region(struct kvm *kvm, | 507 | int 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 | /* |