Hello Michael, On Tue, 2020-02-18 at 15:36 +1100, Michael Ellerman wrote: > In kvmppc_unmap_free_pte() in book3s_64_mmu_radix.c, we use the > non-constant value PTE_INDEX_SIZE to clear a PTE page. > > We can instead use the constant RADIX_PTE_INDEX_SIZE, because we know > this code will only be running when the Radix MMU is active. > > Note that we already use RADIX_PTE_INDEX_SIZE for the allocation of > kvm_pte_cache. > > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > --- > arch/powerpc/kvm/book3s_64_mmu_radix.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c > index 803940d79b73..134fbc1f029f 100644 > --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c > +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c > @@ -425,7 +425,7 @@ static void kvmppc_unmap_free_pte(struct kvm *kvm, pte_t *pte, bool full, > unsigned int lpid) > { > if (full) { > - memset(pte, 0, sizeof(long) << PTE_INDEX_SIZE); > + memset(pte, 0, sizeof(long) << RADIX_PTE_INDEX_SIZE); > } else { > pte_t *p = pte; > unsigned long it; Looks fine to mee. For book3s_64, pgtable.h says: extern unsigned long __pte_index_size; #define PTE_INDEX_SIZE __pte_index_size powerpc/mm/pgtable_64.c defines/export the variable: unsigned long __pte_index_size; EXPORT_SYMBOL(__pte_index_size); And book3s64/radix_pgtable.c set the value in radix__early_init_mmu(). __pte_index_size = RADIX_PTE_INDEX_SIZE; So I think it's ok to use the value directly in book3s_64_mmu_radix.c. The include dependency looks fine for that to work. FWIW: Reviewed-by: Leonardo Bras <leonardo@xxxxxxxxxxxxx>
Attachment:
signature.asc
Description: This is a digitally signed message part