diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-07-02 15:44:09 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-07-02 15:44:09 +0900 |
commit | 59615ecdb516cf218c3699b02d87d9827dc3e0c7 (patch) | |
tree | 120c63e846caad2ba0f469cd608015e9a776193f /arch/sh/mm/tlbflush_64.c | |
parent | ae9b12c72f831a2f956a5b30fd999f3018c43a89 (diff) |
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/mm/tlbflush_64.c')
-rw-r--r-- | arch/sh/mm/tlbflush_64.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/sh/mm/tlbflush_64.c b/arch/sh/mm/tlbflush_64.c index 03db41cc126..7f5810f5dfd 100644 --- a/arch/sh/mm/tlbflush_64.c +++ b/arch/sh/mm/tlbflush_64.c @@ -455,6 +455,11 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) flush_tlb_all(); } +void __flush_tlb_global(void) +{ + flush_tlb_all(); +} + void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) { } |