diff options
author | Jeremy Fitzhardinge <jeremy@xensource.com> | 2007-07-17 18:37:03 -0700 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy@goop.org> | 2007-07-18 08:47:41 -0700 |
commit | 53787013248f52af81d99f63454e5a5cf34d6f12 (patch) | |
tree | 3a56e7439d8ee407af34899501ab663ee8202054 | |
parent | 03f0c2f950f813e3b26c56ed041ba170479d479c (diff) | |
download | op-kernel-dev-53787013248f52af81d99f63454e5a5cf34d6f12.zip op-kernel-dev-53787013248f52af81d99f63454e5a5cf34d6f12.tar.gz |
paravirt: unstatic leave_mm
Make globally leave_mm visible, specifically so that Xen can use it to
shoot-down lazy uses of cr3.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
-rw-r--r-- | arch/i386/kernel/smp.c | 5 | ||||
-rw-r--r-- | include/asm-i386/mmu_context.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c index 6299c08..2d35d85 100644 --- a/arch/i386/kernel/smp.c +++ b/arch/i386/kernel/smp.c @@ -22,6 +22,7 @@ #include <asm/mtrr.h> #include <asm/tlbflush.h> +#include <asm/mmu_context.h> #include <mach_apic.h> /* @@ -249,13 +250,13 @@ static unsigned long flush_va; static DEFINE_SPINLOCK(tlbstate_lock); /* - * We cannot call mmdrop() because we are in interrupt context, + * We cannot call mmdrop() because we are in interrupt context, * instead update mm->cpu_vm_mask. * * We need to reload %cr3 since the page tables may be going * away from under us.. */ -static inline void leave_mm (unsigned long cpu) +void leave_mm(unsigned long cpu) { if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) BUG(); diff --git a/include/asm-i386/mmu_context.h b/include/asm-i386/mmu_context.h index 8198d1c..7eb0b0b 100644 --- a/include/asm-i386/mmu_context.h +++ b/include/asm-i386/mmu_context.h @@ -32,6 +32,8 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) #endif } +void leave_mm(unsigned long cpu); + static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk) |