From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suraj Jitindar Singh Date: Wed, 12 Dec 2018 05:17:32 +0000 Subject: Re: [PATCH 1/4] KVM: PPC: Pass change type down to memslot commit function Message-Id: <1544591852.1865.1.camel@gmail.com> List-Id: References: <20181212041530.GB22265@blackberry> In-Reply-To: <20181212041530.GB22265@blackberry> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kvm-ppc@vger.kernel.org On Wed, 2018-12-12 at 15:15 +1100, Paul Mackerras wrote: > From: Bharata B Rao > > 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. Reviewed-by: Suraj Jitindar Singh > > Signed-off-by: Bharata B Rao > Signed-off-by: Paul Mackerras > --- > 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(-) > > diff --git a/arch/powerpc/include/asm/kvm_ppc.h > b/arch/powerpc/include/asm/kvm_ppc.h > index 9b89b19..04c5b84 100644 > --- a/arch/powerpc/include/asm/kvm_ppc.h > +++ b/arch/powerpc/include/asm/kvm_ppc.h > @@ -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); > diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c > index fd9893b..a35fb40 100644 > --- a/arch/powerpc/kvm/book3s.c > +++ b/arch/powerpc/kvm/book3s.c > @@ -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) > diff --git a/arch/powerpc/kvm/book3s_hv.c > b/arch/powerpc/kvm/book3s_hv.c > index ab43306..f4fbb7b5 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -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; > > diff --git a/arch/powerpc/kvm/book3s_pr.c > b/arch/powerpc/kvm/book3s_pr.c > index 4efd65d..3aeb17b 100644 > --- a/arch/powerpc/kvm/book3s_pr.c > +++ b/arch/powerpc/kvm/book3s_pr.c > @@ -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; > } > diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c > index 2869a29..6a7a6a1 100644 > --- a/arch/powerpc/kvm/powerpc.c > +++ b/arch/powerpc/kvm/powerpc.c > @@ -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,