projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MIPS: Use per-mm page to execute branch delay slot instructions
[cascardo/linux.git]
/
arch
/
mips
/
include
/
asm
/
mmu_context.h
diff --git
a/arch/mips/include/asm/mmu_context.h
b/arch/mips/include/asm/mmu_context.h
index
fc57e13
..
ddd57ad
100644
(file)
--- a/
arch/mips/include/asm/mmu_context.h
+++ b/
arch/mips/include/asm/mmu_context.h
@@
-16,6
+16,7
@@
#include <linux/smp.h>
#include <linux/slab.h>
#include <asm/cacheflush.h>
#include <linux/smp.h>
#include <linux/slab.h>
#include <asm/cacheflush.h>
+#include <asm/dsemul.h>
#include <asm/hazards.h>
#include <asm/tlbflush.h>
#include <asm-generic/mm_hooks.h>
#include <asm/hazards.h>
#include <asm/tlbflush.h>
#include <asm-generic/mm_hooks.h>
@@
-128,6
+129,10
@@
init_new_context(struct task_struct *tsk, struct mm_struct *mm)
atomic_set(&mm->context.fp_mode_switching, 0);
atomic_set(&mm->context.fp_mode_switching, 0);
+ mm->context.bd_emupage_allocmap = NULL;
+ spin_lock_init(&mm->context.bd_emupage_lock);
+ init_waitqueue_head(&mm->context.bd_emupage_queue);
+
return 0;
}
return 0;
}
@@
-162,6
+167,7
@@
static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
*/
static inline void destroy_context(struct mm_struct *mm)
{
*/
static inline void destroy_context(struct mm_struct *mm)
{
+ dsemul_mm_cleanup(mm);
}
#define deactivate_mm(tsk, mm) do { } while (0)
}
#define deactivate_mm(tsk, mm) do { } while (0)