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 */
33static 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 */
41static inline void
42switch_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}
48
49#define activate_mm(prev, next) \
50	switch_mm((prev),(next),NULL,smp_processor_id())
51
52#endif
53