summaryrefslogtreecommitdiffstats
path: root/kernel/arch/powerpc/mm/mmu_context_hash64.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/powerpc/mm/mmu_context_hash64.c')
-rw-r--r--kernel/arch/powerpc/mm/mmu_context_hash64.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/arch/powerpc/mm/mmu_context_hash64.c b/kernel/arch/powerpc/mm/mmu_context_hash64.c
index 178876aef..4e4efbc26 100644
--- a/kernel/arch/powerpc/mm/mmu_context_hash64.c
+++ b/kernel/arch/powerpc/mm/mmu_context_hash64.c
@@ -89,6 +89,9 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm)
#ifdef CONFIG_PPC_64K_PAGES
mm->context.pte_frag = NULL;
#endif
+#ifdef CONFIG_SPAPR_TCE_IOMMU
+ mm_iommu_init(&mm->context);
+#endif
return 0;
}
@@ -132,6 +135,9 @@ static inline void destroy_pagetable_page(struct mm_struct *mm)
void destroy_context(struct mm_struct *mm)
{
+#ifdef CONFIG_SPAPR_TCE_IOMMU
+ mm_iommu_cleanup(&mm->context);
+#endif
#ifdef CONFIG_PPC_ICSWX
drop_cop(mm->context.acop, mm);