[PATCH] powerpc-powernv: added tce_get callback for powernv platform
David Gibson
david at gibson.dropbear.id.au
Wed Sep 5 08:35:47 EST 2012
On Wed, Sep 05, 2012 at 05:41:42AM +1000, Benjamin Herrenschmidt wrote:
> On Tue, 2012-09-04 at 17:35 +1000, Alexey Kardashevskiy wrote:
> > The upcoming VFIO support requires a way to know which
> > entry in the TCE map is not empty in order to do cleanup
> > at QEMU exit/crash. This patch adds such functionality
> > to POWERNV platform code.
> >
> > Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> > ---
> > arch/powerpc/platforms/powernv/pci.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c
> > index be3cfc5..61f8068 100644
> > --- a/arch/powerpc/platforms/powernv/pci.c
> > +++ b/arch/powerpc/platforms/powernv/pci.c
> > @@ -447,6 +447,11 @@ static void pnv_tce_free(struct iommu_table *tbl, long index, long npages)
> > pnv_tce_invalidate(tbl, tces, tcep - 1);
> > }
> >
> > +static unsigned long pnv_tce_get(struct iommu_table *tbl, long index)
> > +{
> > + return ((u64 *)tbl->it_base)[index - tbl->it_offset] & IOMMU_PAGE_MASK;
> > +}
>
> Why the masking here ?
Yes. Especially since you're masking out the permission bits which
are actually the ones you want to determine if a TCE is empty or not.
--
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
More information about the Linuxppc-dev
mailing list