Auto merge with /home/aegl/GIT/linus
[deliverable/linux.git] / include / asm-um / mmu_context.h
1 /*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
5
6 #ifndef __UM_MMU_CONTEXT_H
7 #define __UM_MMU_CONTEXT_H
8
9 #include "linux/sched.h"
10 #include "linux/config.h"
11 #include "choose-mode.h"
12 #include "um_mmu.h"
13
14 #define get_mmu_context(task) do ; while(0)
15 #define activate_context(tsk) do ; while(0)
16
17 #define deactivate_mm(tsk,mm) do { } while (0)
18
19 static inline void activate_mm(struct mm_struct *old, struct mm_struct *new)
20 {
21 }
22
23 static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
24 struct task_struct *tsk)
25 {
26 unsigned cpu = smp_processor_id();
27
28 if(prev != next){
29 cpu_clear(cpu, prev->cpu_vm_mask);
30 cpu_set(cpu, next->cpu_vm_mask);
31 if(next != &init_mm)
32 CHOOSE_MODE((void) 0,
33 switch_mm_skas(&next->context.skas.id));
34 }
35 }
36
37 static inline void enter_lazy_tlb(struct mm_struct *mm,
38 struct task_struct *tsk)
39 {
40 }
41
42 extern int init_new_context_skas(struct task_struct *task,
43 struct mm_struct *mm);
44
45 static inline int init_new_context_tt(struct task_struct *task,
46 struct mm_struct *mm)
47 {
48 return(0);
49 }
50
51 static inline int init_new_context(struct task_struct *task,
52 struct mm_struct *mm)
53 {
54 return(CHOOSE_MODE_PROC(init_new_context_tt, init_new_context_skas,
55 task, mm));
56 }
57
58 extern void destroy_context_skas(struct mm_struct *mm);
59
60 static inline void destroy_context(struct mm_struct *mm)
61 {
62 CHOOSE_MODE((void) 0, destroy_context_skas(mm));
63 }
64
65 #endif
66
67 /*
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
71 * of the file.
72 * ---------------------------------------------------------------------------
73 * Local variables:
74 * c-file-style: "linux"
75 * End:
76 */
This page took 0.046322 seconds and 6 git commands to generate.