On Tue, Sep 01, 2020 at 06:08:01PM +0100, Alexandru Elisei wrote: > On 8/25/20 10:39 AM, Will Deacon wrote: > > Convert kvm_phys_addr_ioremap() to use kvm_pgtable_stage2_map() instead > > of stage2_set_pte(). > > > > Cc: Marc Zyngier <maz@xxxxxxxxxx> > > Cc: Quentin Perret <qperret@xxxxxxxxxx> > > Signed-off-by: Will Deacon <will@xxxxxxxxxx> > > --- > > arch/arm64/kvm/hyp/pgtable.c | 14 +------------- > > arch/arm64/kvm/mmu.c | 29 ++++++++++++----------------- > > 2 files changed, 13 insertions(+), 30 deletions(-) > > > > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c > > index 41ee8f3c0369..6f65d3841ec9 100644 > > --- a/arch/arm64/kvm/hyp/pgtable.c > > +++ b/arch/arm64/kvm/hyp/pgtable.c > > @@ -439,18 +439,6 @@ struct stage2_map_data { > > struct kvm_mmu_memory_cache *memcache; > > }; > > > > -static kvm_pte_t *stage2_memcache_alloc_page(struct stage2_map_data *data) > > -{ > > - kvm_pte_t *ptep = NULL; > > - struct kvm_mmu_memory_cache *mc = data->memcache; > > - > > - /* Allocated with GFP_PGTABLE_USER, so no need to zero */ > > - if (mc && mc->nobjs) > > - ptep = mc->objects[--mc->nobjs]; > > - > > - return ptep; > > -} > > - > > static int stage2_map_set_prot_attr(enum kvm_pgtable_prot prot, > > struct stage2_map_data *data) > > { > > @@ -531,7 +519,7 @@ static int stage2_map_walk_leaf(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, > > if (WARN_ON(level == KVM_PGTABLE_MAX_LEVELS - 1)) > > return -EINVAL; > > > > - childp = stage2_memcache_alloc_page(data); > > + childp = kvm_mmu_memory_cache_alloc(data->memcache); > > I think this hunk and the above could have been squashed in the previous patch, I > think we could have used kvm_mmu_memory_cache_alloc directly from the start. Urgh, looks like I squashed into the wrong patch when I rebased this before. Thanks, I'll fix that (but damn, rebasing this series sucks rocks). Will _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm