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