From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Ellerman Subject: Re: [PATCH kernel v11 02/10] powerpc/powernv/iommu: Add real mode version of iommu_table_ops::exchange() Date: Mon, 27 Mar 2017 19:47:08 +1100 Message-ID: <877f3bf6nn.fsf@concordia.ellerman.id.au> References: <20170322042156.11756-1-aik@ozlabs.ru> <20170322042156.11756-3-aik@ozlabs.ru> Mime-Version: 1.0 Content-Type: text/plain Cc: kvm@vger.kernel.org, Alexey Kardashevskiy , kvm-ppc@vger.kernel.org, Alex Williamson , Paul Mackerras , David Gibson To: Alexey Kardashevskiy , linuxppc-dev@lists.ozlabs.org Return-path: In-Reply-To: <20170322042156.11756-3-aik@ozlabs.ru> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: kvm.vger.kernel.org Alexey Kardashevskiy writes: > diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c > index 5f202a566ec5..9bace5df05d5 100644 > --- a/arch/powerpc/kernel/iommu.c > +++ b/arch/powerpc/kernel/iommu.c > @@ -1004,6 +1004,29 @@ long iommu_tce_xchg(struct iommu_table *tbl, unsigned long entry, > } > EXPORT_SYMBOL_GPL(iommu_tce_xchg); > > +long iommu_tce_xchg_rm(struct iommu_table *tbl, unsigned long entry, > + unsigned long *hpa, enum dma_data_direction *direction) > +{ > + long ret; > + > + ret = tbl->it_ops->exchange_rm(tbl, entry, hpa, direction); > + > + if (!ret && ((*direction == DMA_FROM_DEVICE) || > + (*direction == DMA_BIDIRECTIONAL))) { > + struct page *pg = realmode_pfn_to_page(*hpa >> PAGE_SHIFT); This breaks the corenet64_smp_defconfig build: arch/powerpc/kernel/iommu.c:1037:21: error: implicit declaration of function 'realmode_pfn_to_page' [-Werror=implicit-function-declaration] I think you can probably just put it inside #ifdef CONFIG_PPC_BOOK3S_64. cheers