On Tue, Sep 22, 2015 at 06:50:44PM +0200, Christophe Leroy wrote: > diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c > index 3fd9083..1f2fdbc 100644 > --- a/arch/powerpc/mm/pgtable_32.c > +++ b/arch/powerpc/mm/pgtable_32.c > @@ -49,6 +49,10 @@ EXPORT_SYMBOL(ioremap_bot); /* aka VMALLOC_END */ > #define HAVE_TLBCAM 1 > #endif > > +#if CONFIG_PPC_8xx > +#define HAVE_LTLB 1 > +#endif > + > extern char etext[], _stext[]; > > #ifdef HAVE_BATS > @@ -67,6 +71,14 @@ extern unsigned long p_mapped_by_tlbcam(phys_addr_t pa); > #define p_mapped_by_tlbcam(x) (0UL) > #endif /* HAVE_TLBCAM */ > > +#ifdef HAVE_LTLB > +phys_addr_t v_mapped_by_ltlb(unsigned long va); > +unsigned long p_mapped_by_ltlb(phys_addr_t pa); > +#else /* !HAVE_LTLB */ > +#define v_mapped_by_ltlb(x) (0UL) > +#define p_mapped_by_ltlb(x) (0UL) > +#endif /* HAVE_LTLB */ > + > static inline unsigned long p_mapped_by_other(phys_addr_t pa) > { > unsigned long v; > @@ -75,6 +87,10 @@ static inline unsigned long p_mapped_by_other(phys_addr_t > pa) > if (v /*&& p_mapped_by_bats(p+size-1)*/) > return v; > > + v = p_mapped_by_ltlb(pa); > + if (v) > + return v; > + > return p_mapped_by_tlbcam(pa); > } > > @@ -86,6 +102,10 @@ static inline phys_addr_t v_mapped_by_other(unsigned long > va) > if (p) > return p; > > + p = v_mapped_by_ltlb(va); > + if (p) > + return p; > + > return v_mapped_by_tlbcam(va); > }
Since there is no kernel with more than one of {bats,ltlb,tlbcam} can we just call it *_block_mapped() and have each subarch provide its implementation (or stub) thereof? -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev