From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH RFC 1/2] KVM: PPC: Move kvm->arch.slot_phys into memslot.arch Date: Mon, 27 Aug 2012 17:41:11 -0300 Message-ID: <20120827204111.GB1414@amt.cnet> References: <20120825124039.GF7051@bloggs.ozlabs.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Alexander Graf , kvm-ppc@vger.kernel.org, kvm@vger.kernel.org To: Paul Mackerras Return-path: Content-Disposition: inline In-Reply-To: <20120825124039.GF7051@bloggs.ozlabs.ibm.com> Sender: kvm-ppc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Sat, Aug 25, 2012 at 10:40:40PM +1000, Paul Mackerras wrote: > Now that we have an architecture-specific field in the kvm_memory_slot > structure, we can use it to store the array of page physical addresses > that we need for Book3S HV KVM on PPC970 processors. This reduces the > size of struct kvm_arch for Book3S HV, and also reduces the size of > struct kvm_arch_memory_slot for other PPC KVM variants since the fields > in it are now only compiled in for Book3S HV. > > This necessitates making the kvm_arch_create_memslot and > kvm_arch_free_memslot operations specific to each PPC KVM variant. > That in turn means that we now don't allocate the rmap arrays on > Book3S PR and Book E. > > Since we now unpin pages and free the slot_phys array in > kvmppc_core_free_memslot, we no longer need to do it in > kvmppc_core_destroy_vm, since the generic code takes care to free > all the memslots when destroying a VM. > > We now need the new memslot to be passed in to > kvmppc_core_prepare_memory_region, since we need to initialize its > arch.slot_phys member on Book3S HV. > > Signed-off-by: Paul Mackerras > --- > This is on top of Alex's kvm-ppc-next branch with the KVM tree's next > branch merged in and then Marcelo's set of 3 patches on that. > > arch/powerpc/include/asm/kvm_host.h | 9 +-- > arch/powerpc/include/asm/kvm_ppc.h | 5 ++ > arch/powerpc/kvm/book3s_64_mmu_hv.c | 6 +- > arch/powerpc/kvm/book3s_hv.c | 104 ++++++++++++++++++++--------------- > arch/powerpc/kvm/book3s_hv_rm_mmu.c | 2 +- > arch/powerpc/kvm/book3s_pr.c | 12 ++++ > arch/powerpc/kvm/booke.c | 12 ++++ > arch/powerpc/kvm/powerpc.c | 13 +---- > 8 files changed, 102 insertions(+), 61 deletions(-) Regarding generic memslot code, looks fine.