1 /*
2 * linux/include/asm-arm/mmu_context.h
3 *
4 * Copyright (C) 1996 Russell King.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * Changelog:
11 * 27-06-1996 RMK Created
12 */
13 #ifndef __ASM_ARM_MMU_CONTEXT_H
14 #define __ASM_ARM_MMU_CONTEXT_H
15
16 #include <asm/bitops.h>
17 #include <asm/pgtable.h>
18 #include <asm/arch/memory.h>
19 #include <asm/proc-fns.h>
20
21 #define destroy_context(mm) do { } while(0)
22 #define init_new_context(tsk,mm) 0
23
24 /*
25 * This is called when "tsk" is about to enter lazy TLB mode.
26 *
27 * mm: describes the currently active mm context
28 * tsk: task which is entering lazy tlb
29 * cpu: cpu number which is entering lazy tlb
30 *
31 * tsk->mm will be NULL
32 */
33 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk, unsigned cpu)
34 {
35 }
36
37 /*
38 * This is the actual mm switch as far as the scheduler
39 * is concerned. No registers are touched.
40 */
41 static inline void
42 switch_mm(struct mm_struct *prev, struct mm_struct *next,
43 struct task_struct *tsk, unsigned int cpu)
44 {
45 if (prev != next) {
46 cpu_switch_mm(next->pgd, tsk);
47 clear_bit(cpu, &prev->cpu_vm_mask);
48 }
49 set_bit(cpu, &next->cpu_vm_mask);
50 }
51
52 #define activate_mm(prev, next) \
53 switch_mm((prev),(next),NULL,smp_processor_id())
54
55 #endif
56
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.