summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc/mmu_context_32.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-07-22 17:12:37 +1000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-07-22 17:12:37 +1000
commit8725f25acc656c1522d48a6746055099efdaca4c (patch)
treee241424fa58178ed6c2a95a4eb931ea83dbea33c /include/asm-sparc/mmu_context_32.h
parentc69cccc95fe4b90dde5fe33e6a3b77880b534fa4 (diff)
parent93ded9b8fd42abe2c3607097963d8de6ad9117eb (diff)
Merge commit 'origin/master'
Manually fixed up: drivers/net/fs_enet/fs_enet-main.c
Diffstat (limited to 'include/asm-sparc/mmu_context_32.h')
-rw-r--r--include/asm-sparc/mmu_context_32.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/include/asm-sparc/mmu_context_32.h b/include/asm-sparc/mmu_context_32.h
new file mode 100644
index 00000000000..671a997b9e6
--- /dev/null
+++ b/include/asm-sparc/mmu_context_32.h
@@ -0,0 +1,42 @@
+#ifndef __SPARC_MMU_CONTEXT_H
+#define __SPARC_MMU_CONTEXT_H
+
+#include <asm/btfixup.h>
+
+#ifndef __ASSEMBLY__
+
+#include <asm-generic/mm_hooks.h>
+
+static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
+{
+}
+
+/*
+ * Initialize a new mmu context. This is invoked when a new
+ * address space instance (unique or shared) is instantiated.
+ */
+#define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0)
+
+/*
+ * Destroy a dead context. This occurs when mmput drops the
+ * mm_users count to zero, the mmaps have been released, and
+ * all the page tables have been flushed. Our job is to destroy
+ * any remaining processor-specific state.
+ */
+BTFIXUPDEF_CALL(void, destroy_context, struct mm_struct *)
+
+#define destroy_context(mm) BTFIXUP_CALL(destroy_context)(mm)
+
+/* Switch the current MM context. */
+BTFIXUPDEF_CALL(void, switch_mm, struct mm_struct *, struct mm_struct *, struct task_struct *)
+
+#define switch_mm(old_mm, mm, tsk) BTFIXUP_CALL(switch_mm)(old_mm, mm, tsk)
+
+#define deactivate_mm(tsk,mm) do { } while (0)
+
+/* Activate a new MM instance for the current task. */
+#define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)
+
+#endif /* !(__ASSEMBLY__) */
+
+#endif /* !(__SPARC_MMU_CONTEXT_H) */