KVM: PPC: Pass change type down to memslot commit function
Subsystems (2)
PATCH 1/4 KVM: PPC: Pass change type down to memslot commit function
From: Bharata B Rao <[email protected]>
Currently, kvm_arch_commit_memory_region() gets called with a parameter indicating what type of change is being made to the memslot, but it doesn't pass it down to the platform-specific memslot commit functions. This adds the `change' parameter to the lower-level functions so that they can use it in future.
--- arch/powerpc/include/asm/kvm_ppc.h | 6 ++++-- arch/powerpc/kvm/book3s.c | 5 +++-- arch/powerpc/kvm/book3s_hv.c | 3 ++- arch/powerpc/kvm/book3s_pr.c | 3 ++- arch/powerpc/kvm/powerpc.c | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-)
arch/powerpc/include/asm/kvm_ppc.h +4 -2
@@ -224,7 +224,8 @@ extern int kvmppc_core_prepare_memory_region(struct kvm *kvm,extern void kvmppc_core_commit_memory_region (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new); +const struct kvm_memory_slot *new, +enum kvm_mr_change change);extern int kvm_vm_ioctl_get_smmu_info (struct kvm *kvm,struct kvm_ppc_smmu_info *info); extern void kvmppc_core_flush_memslot(struct kvm *kvm,
@@ -294,7 +295,8 @@ struct kvmppc_ops {void (*commit_memory_region)(struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new); +const struct kvm_memory_slot *new, +enum kvm_mr_change change);int (*unmap_hva_range)(struct kvm *kvm,unsigned long start,unsigned long end);int (*age_hva)(struct kvm *kvm,unsigned long start,unsigned long end);
arch/powerpc/kvm/book3s.c +3 -2
@@ -830,9 +830,10 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,void kvmppc_core_commit_memory_region (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) { - kvm->arch.kvm_ops->commit_memory_region (kvm, mem, old, new); + kvm->arch.kvm_ops->commit_memory_region (kvm, mem, old, new, change); }int kvm_unmap_hva_range (struct kvm *kvm,unsigned long start,unsigned long end)
arch/powerpc/kvm/book3s_hv.c +2 -1
@@ -4371,7 +4371,8 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,static void kvmppc_core_commit_memory_region_hv (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) {unsigned long npages = mem->memory_size >>PAGE_SHIFT ;
arch/powerpc/kvm/book3s_pr.c +2 -1
@@ -1913,7 +1913,8 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,static void kvmppc_core_commit_memory_region_pr (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) {return ; }
arch/powerpc/kvm/powerpc.c +1 -1
@@ -696,7 +696,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,const struct kvm_memory_slot *new, enum kvm_mr_change change) { -kvmppc_core_commit_memory_region (kvm ,mem ,old ,new ); +kvmppc_core_commit_memory_region (kvm ,mem ,old ,new ,change ); } void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
Signature · 1 line
2.7.4
Quoted 8 lines · Paul Mackerras
From: Bharata B Rao <[email protected]>
Currently,
kvm_arch_commit_memory_region()gets called with a parameter indicating what type of change is being made to the memslot,
but it doesn't pass it down to the platform-specific memslot commit functions. This adds the `change' parameter to the lower-level functions so that they can use it in future.
Quoted 115 lines
Signed-off-by Bharata B Rao <[email protected]>Signed-off-by Paul Mackerras <[email protected]>--- arch/powerpc/include/asm/kvm_ppc.h | 6 ++++-- arch/powerpc/kvm/book3s.c | 5 +++-- arch/powerpc/kvm/book3s_hv.c | 3 ++- arch/powerpc/kvm/book3s_pr.c | 3 ++- arch/powerpc/kvm/powerpc.c | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-)arch/powerpc/include/asm/kvm_ppc.h +2
-1@@ -224,7 +224,8 @@ extern int kvmppc_core_prepare_memory_region(struct kvm *kvm, extern void kvmppc_core_commit_memory_region(struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new); +const struct kvm_memory_slot *new, +enum kvm_mr_change change); extern int kvm_vm_ioctl_get_smmu_info(struct kvm *kvm,struct
kvm_ppc_smmu_info
*info);
extern void kvmppc_core_flush_memslot(struct kvm *kvm,arch/powerpc/include/asm/kvm_ppc.h +1
-1@@ -294,7 +295,8 @@ struct kvmppc_ops {void (*commit_memory_region)(struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new); + const struct kvm_memory_slot*new,
arch/powerpc/include/asm/kvm_ppc.h +1
-0+ enum kvm_mr_change change);int (*unmap_hva_range)(struct kvm *kvm,unsigned long start,unsigned long end); int (*age_hva)(struct kvm *kvm, unsigned long start,unsigned long end);
arch/powerpc/kvm/book3s.c +3
-2@@ -830,9 +830,10 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,void kvmppc_core_commit_memory_region (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) { - kvm->arch.kvm_ops->commit_memory_region (kvm, mem, old, new); + kvm->arch.kvm_ops->commit_memory_region (kvm, mem, old, new, change);}
int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start,
unsigned long end)arch/powerpc/kvm/book3s_hv.c +2
-1@@ -4371,7 +4371,8 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm, static void kvmppc_core_commit_memory_region_hv(struct kvm *kvm, const struct kvm_userspace_memory_region *mem, const struct kvm_memory_slot *old, - const struct kvm_memory_slot *new) + const struct kvm_memory_slot *new, + enum kvm_mr_change change) {arch/powerpc/kvm/book3s_hv.c +0
-0unsigned long npages = mem->memory_size >>PAGE_SHIFT ;arch/powerpc/kvm/book3s_pr.c +2
-1@@ -1913,7 +1913,8 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm, static void kvmppc_core_commit_memory_region_pr(struct kvm *kvm, const struct kvm_userspace_memory_region *mem, const struct kvm_memory_slot *old, - const struct kvm_memory_slot *new) + const struct kvm_memory_slot *new, + enum kvm_mr_change change) {arch/powerpc/kvm/book3s_pr.c +0
-0return ; }arch/powerpc/kvm/powerpc.c +1
-1@@ -696,7 +696,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm, const struct kvm_memory_slot *new, enum kvm_mr_change change) { -kvmppc_core_commit_memory_region (kvm ,mem ,old ,new ); +kvmppc_core_commit_memory_region (kvm ,mem ,old ,new ,change );}
void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
Quoted 10 lines · Paul Mackerras
From: Bharata B Rao <[email protected]>
Currently,
kvm_arch_commit_memory_region()gets called with a parameter indicating what type of change is being made to the memslot, but it doesn't pass it down to the platform-specific memslot commit functions. This adds the `change' parameter to the lower-level functions so that they can use it in future.Signed-off-by Bharata B Rao <[email protected]>Signed-off-by Paul Mackerras <[email protected]>
Quoted 90 lines
--- arch/powerpc/include/asm/kvm_ppc.h | 6 ++++-- arch/powerpc/kvm/book3s.c | 5 +++-- arch/powerpc/kvm/book3s_hv.c | 3 ++- arch/powerpc/kvm/book3s_pr.c | 3 ++- arch/powerpc/kvm/powerpc.c | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-)arch/powerpc/include/asm/kvm_ppc.h +4
-2@@ -224,7 +224,8 @@ extern int kvmppc_core_prepare_memory_region(struct kvm *kvm,extern void kvmppc_core_commit_memory_region (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new); +const struct kvm_memory_slot *new, +enum kvm_mr_change change);extern int kvm_vm_ioctl_get_smmu_info (struct kvm *kvm,struct kvm_ppc_smmu_info *info); extern void kvmppc_core_flush_memslot(struct kvm *kvm,@@ -294,7 +295,8 @@ struct kvmppc_ops {void (*commit_memory_region)(struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new); +const struct kvm_memory_slot *new, +enum kvm_mr_change change);int (*unmap_hva_range)(struct kvm *kvm,unsigned long start,unsigned long end);int (*age_hva)(struct kvm *kvm,unsigned long start,unsigned long end);arch/powerpc/kvm/book3s.c +3
-2@@ -830,9 +830,10 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,void kvmppc_core_commit_memory_region (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) { - kvm->arch.kvm_ops->commit_memory_region (kvm, mem, old, new); + kvm->arch.kvm_ops->commit_memory_region (kvm, mem, old, new, change); }int kvm_unmap_hva_range (struct kvm *kvm,unsigned long start,unsigned long end)arch/powerpc/kvm/book3s_hv.c +2
-1@@ -4371,7 +4371,8 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,static void kvmppc_core_commit_memory_region_hv (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) {unsigned long npages = mem->memory_size >>PAGE_SHIFT ;arch/powerpc/kvm/book3s_pr.c +2
-1@@ -1913,7 +1913,8 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,static void kvmppc_core_commit_memory_region_pr (struct kvm *kvm,const struct kvm_userspace_memory_region *mem,const struct kvm_memory_slot *old, -const struct kvm_memory_slot *new) +const struct kvm_memory_slot *new, +enum kvm_mr_change change) {return ; }arch/powerpc/kvm/powerpc.c +1
-1@@ -696,7 +696,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,const struct kvm_memory_slot *new, enum kvm_mr_change change) { -kvmppc_core_commit_memory_region (kvm ,mem ,old ,new ); +kvmppc_core_commit_memory_region (kvm ,mem ,old ,new ,change ); } void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
Signature · 4 lines
David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson