summaryrefslogtreecommitdiffstats
path: root/arch/sh/include
diff options
context:
space:
mode:
authorPaul Mundt2010-07-02 08:44:09 +0200
committerPaul Mundt2010-07-02 08:44:09 +0200
commit59615ecdb516cf218c3699b02d87d9827dc3e0c7 (patch)
tree120c63e846caad2ba0f469cd608015e9a776193f /arch/sh/include
parentdmaengine: initialise DMA engine before MMC (diff)
downloadkernel-qcow2-linux-59615ecdb516cf218c3699b02d87d9827dc3e0c7.tar.gz
kernel-qcow2-linux-59615ecdb516cf218c3699b02d87d9827dc3e0c7.tar.xz
kernel-qcow2-linux-59615ecdb516cf218c3699b02d87d9827dc3e0c7.zip
sh: Provide a global TLB flush for U/I-TLB clear.
This provides a sledgehammer approach for clearing the TLBs, only to be used in cases where we know we will never want to use the mappings again and have no interest in preserving state. This also destroys wired entries. The primary use for this is when we are either entering or exiting the kernel completely, in the latter case as a precursor for CPU reset by MMU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r--arch/sh/include/asm/tlbflush.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/include/asm/tlbflush.h b/arch/sh/include/asm/tlbflush.h
index e0ac97221ae6..0df66f0c7284 100644
--- a/arch/sh/include/asm/tlbflush.h
+++ b/arch/sh/include/asm/tlbflush.h
@@ -21,6 +21,8 @@ extern void local_flush_tlb_kernel_range(unsigned long start,
unsigned long end);
extern void local_flush_tlb_one(unsigned long asid, unsigned long page);
+extern void __flush_tlb_global(void);
+
#ifdef CONFIG_SMP
extern void flush_tlb_all(void);