]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/asm-um/mmu_context.h
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.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 "choose-mode.h"
11
12 #define get_mmu_context(task) do ; while(0)
13 #define activate_context(tsk) do ; while(0)
14
15 #define deactivate_mm(tsk,mm) do { } while (0)
16
17 static inline void activate_mm(struct mm_struct *old, struct mm_struct *new)
18 {
19 }
20
21 extern void switch_mm_skas(int mm_fd);
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.mm_fd));
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 */