2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
6 #ifndef __UM_MMU_CONTEXT_H
7 #define __UM_MMU_CONTEXT_H
9 #include "linux/sched.h"
10 #include "choose-mode.h"
12 #define get_mmu_context(task) do ; while(0)
13 #define activate_context(tsk) do ; while(0)
15 #define deactivate_mm(tsk,mm) do { } while (0)
17 static inline void activate_mm(struct mm_struct *old, struct mm_struct *new)
21 extern void switch_mm_skas(int mm_fd);
23 static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
24 struct task_struct *tsk)
26 unsigned cpu = smp_processor_id();
29 cpu_clear(cpu, prev->cpu_vm_mask);
30 cpu_set(cpu, next->cpu_vm_mask);
33 switch_mm_skas(next->context.skas.mm_fd));
37 static inline void enter_lazy_tlb(struct mm_struct *mm,
38 struct task_struct *tsk)
42 extern int init_new_context_skas(struct task_struct *task,
43 struct mm_struct *mm);
45 static inline int init_new_context_tt(struct task_struct *task,
51 static inline int init_new_context(struct task_struct *task,
54 return(CHOOSE_MODE_PROC(init_new_context_tt, init_new_context_skas,
58 extern void destroy_context_skas(struct mm_struct *mm);
60 static inline void destroy_context(struct mm_struct *mm)
62 CHOOSE_MODE((void) 0, destroy_context_skas(mm));
68 * Overrides for Emacs so that we follow Linus's tabbing style.
69 * Emacs will notice this stuff at the end of the file and automatically
70 * adjust the settings for this buffer only. This must remain at the end
72 * ---------------------------------------------------------------------------
74 * c-file-style: "linux"