From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson Date: Wed, 12 Dec 2018 23:31:58 +0000 Subject: Re: [PATCH 3/4] KVM: PPC: Book3S HV: Cleanups - constify memslots, fix comments Message-Id: <20181212233158.GC29278@umbus.fritz.box> MIME-Version: 1 Content-Type: multipart/mixed; boundary="E/DnYTRukya0zdZ1" List-Id: References: <20181212041648.GD22265@blackberry> In-Reply-To: <20181212041648.GD22265@blackberry> To: kvm-ppc@vger.kernel.org --E/DnYTRukya0zdZ1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Dec 12, 2018 at 03:16:48PM +1100, Paul Mackerras wrote: > This adds 'const' to the declarations for the struct kvm_memory_slot > pointer parameters of some functions, which will make it possible to > call those functions from kvmppc_core_commit_memory_region_hv() > in the next patch. >=20 > This also fixes some comments about locking. >=20 > Signed-off-by: Paul Mackerras Reviewed-by: David Gibson > --- > arch/powerpc/include/asm/kvm_book3s.h | 9 +++------ > arch/powerpc/include/asm/kvm_book3s_64.h | 2 +- > arch/powerpc/kvm/book3s_64_mmu_radix.c | 9 +++++---- > arch/powerpc/kvm/book3s_hv_nested.c | 2 +- > arch/powerpc/kvm/book3s_hv_rm_mmu.c | 2 +- > 5 files changed, 11 insertions(+), 13 deletions(-) >=20 > diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include= /asm/kvm_book3s.h > index 09f8e9b..728d2b7 100644 > --- a/arch/powerpc/include/asm/kvm_book3s.h > +++ b/arch/powerpc/include/asm/kvm_book3s.h > @@ -197,7 +197,8 @@ extern int kvmppc_mmu_radix_translate_table(struct kv= m_vcpu *vcpu, gva_t eaddr, > extern int kvmppc_mmu_radix_xlate(struct kvm_vcpu *vcpu, gva_t eaddr, > struct kvmppc_pte *gpte, bool data, bool iswrite); > extern void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, unsigned long = gpa, > - unsigned int shift, struct kvm_memory_slot *memslot, > + unsigned int shift, > + const struct kvm_memory_slot *memslot, > unsigned int lpid); > extern bool kvmppc_hv_handle_set_rc(struct kvm *kvm, pgd_t *pgtable, > bool writing, unsigned long gpa, > @@ -215,10 +216,6 @@ extern int kvmppc_radix_init(void); > extern void kvmppc_radix_exit(void); > extern int kvm_unmap_radix(struct kvm *kvm, struct kvm_memory_slot *mems= lot, > unsigned long gfn); > -extern void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, > - unsigned long gpa, unsigned int shift, > - struct kvm_memory_slot *memslot, > - unsigned int lpid); > extern int kvm_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslo= t, > unsigned long gfn); > extern int kvm_test_age_radix(struct kvm *kvm, struct kvm_memory_slot *m= emslot, > @@ -242,7 +239,7 @@ extern kvm_pfn_t kvmppc_gpa_to_pfn(struct kvm_vcpu *v= cpu, gpa_t gpa, > bool writing, bool *writable); > extern void kvmppc_add_revmap_chain(struct kvm *kvm, struct revmap_entry= *rev, > unsigned long *rmap, long pte_index, int realmode); > -extern void kvmppc_update_dirty_map(struct kvm_memory_slot *memslot, > +extern void kvmppc_update_dirty_map(const struct kvm_memory_slot *memslo= t, > unsigned long gfn, unsigned long psize); > extern void kvmppc_invalidate_hpte(struct kvm *kvm, __be64 *hptep, > unsigned long pte_index); > diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/incl= ude/asm/kvm_book3s_64.h > index 6d29814..c9cbaf0 100644 > --- a/arch/powerpc/include/asm/kvm_book3s_64.h > +++ b/arch/powerpc/include/asm/kvm_book3s_64.h > @@ -625,7 +625,7 @@ extern int kvmppc_create_pte(struct kvm *kvm, pgd_t *= pgtable, pte_t pte, > extern void kvmhv_insert_nest_rmap(struct kvm *kvm, unsigned long *rmapp, > struct rmap_nested **n_rmap); > extern void kvmhv_remove_nest_rmap_range(struct kvm *kvm, > - struct kvm_memory_slot *memslot, > + const struct kvm_memory_slot *memslot, > unsigned long gpa, unsigned long hpa, > unsigned long nbytes); > =20 > diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/bo= ok3s_64_mmu_radix.c > index 87ad35e..52711eb 100644 > --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c > +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c > @@ -284,7 +284,8 @@ static void kvmppc_pmd_free(pmd_t *pmdp) > =20 > /* Called with kvm->mmu_lock held */ > void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, unsigned long gpa, > - unsigned int shift, struct kvm_memory_slot *memslot, > + unsigned int shift, > + const struct kvm_memory_slot *memslot, > unsigned int lpid) > =20 > { > @@ -861,7 +862,7 @@ int kvmppc_book3s_radix_page_fault(struct kvm_run *ru= n, struct kvm_vcpu *vcpu, > return ret; > } > =20 > -/* Called with kvm->lock held */ > +/* Called with kvm->mmu_lock held */ > int kvm_unmap_radix(struct kvm *kvm, struct kvm_memory_slot *memslot, > unsigned long gfn) > { > @@ -876,7 +877,7 @@ int kvm_unmap_radix(struct kvm *kvm, struct kvm_memor= y_slot *memslot, > return 0; =09 > } > =20 > -/* Called with kvm->lock held */ > +/* Called with kvm->mmu_lock held */ > int kvm_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslot, > unsigned long gfn) > { > @@ -895,7 +896,7 @@ int kvm_age_radix(struct kvm *kvm, struct kvm_memory_= slot *memslot, > return ref; > } > =20 > -/* Called with kvm->lock held */ > +/* Called with kvm->mmu_lock held */ > int kvm_test_age_radix(struct kvm *kvm, struct kvm_memory_slot *memslot, > unsigned long gfn) > { > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3= s_hv_nested.c > index 401d2ec..6d1b14b 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -723,7 +723,7 @@ static void kvmhv_remove_nest_rmap_list(struct kvm *k= vm, unsigned long *rmapp, > =20 > /* called with kvm->mmu_lock held */ > void kvmhv_remove_nest_rmap_range(struct kvm *kvm, > - struct kvm_memory_slot *memslot, > + const struct kvm_memory_slot *memslot, > unsigned long gpa, unsigned long hpa, > unsigned long nbytes) > { > diff --git a/arch/powerpc/kvm/book3s_hv_rm_mmu.c b/arch/powerpc/kvm/book3= s_hv_rm_mmu.c > index a67cf1c..3b3791e 100644 > --- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c > +++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c > @@ -107,7 +107,7 @@ void kvmppc_add_revmap_chain(struct kvm *kvm, struct = revmap_entry *rev, > EXPORT_SYMBOL_GPL(kvmppc_add_revmap_chain); > =20 > /* Update the dirty bitmap of a memslot */ > -void kvmppc_update_dirty_map(struct kvm_memory_slot *memslot, > +void kvmppc_update_dirty_map(const struct kvm_memory_slot *memslot, > unsigned long gfn, unsigned long psize) > { > unsigned long npages; --=20 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 --E/DnYTRukya0zdZ1 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAlwRmm0ACgkQbDjKyiDZ s5I6XRAAloO/L3hbZNlRpm8Mf6QEV7/y6JnLpkB/ZAYb16KOok2ovs53hM6uH+ds JlzSxU1RRZCMAgXm/pweLkQ+DbRiUrRDzYcPk8A0tNTIeWe46uAJ5s1BDuBNK48I imRuFstBzYNeajkkpgVRHn2nWBPksgsOH2g8FokiwhXlUVtW0nwUDqD1PkKKlu6+ QoN1By6vRut5hNJAjXU2GOzTj/J9IDWkJHp40bf1W7DROwhK8Heam7cjD4T2piqm EEkGz+Myt6oduefd63R+OENzhQI/oPjwXy+Fhm2+2fLDKHtanpOJWXrqFm1JXGJT XvcsTDMGTImDNuMBcrXEHr0wV2vx+rReus8sNZMQ8m7k1GlVTDzqs112/rx4Kiqn gCHzCWRhm0wlBRk/9PBDbev+z1/AudzZCnlqkB+rIhRSugSnmVa2ezVRPXNzbCZo 526ig6C1g1Am0XBEjbPzXRv9GtZ/iteooe9Ij6twm9H37Kn6c5opmO1z0VRLTSNA MW/NeDyIRMD8Hu/sLL/igz5OGoYJDCpgJdaE6VpaOuj2y9S+UftOJ92VHVDmDXpy FFbiWmCV7DQnet7MO725l0Iq/BT46cWt1Nu74rt8oEaVd5WSgWC015Yth4HhhFuJ RcanQ0TPWvn4JkoKY7aINTfAOk0UJ2rwCT9PMDMTczcGqKeBpgU= =P7Xx -----END PGP SIGNATURE----- --E/DnYTRukya0zdZ1--