diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2009-06-10 12:57:08 +0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-06-13 15:20:07 +0400 |
commit | 47e9dedb720364e0adff0e99960fa294c6161f71 (patch) | |
tree | fa5bcb532023a89fa11995e5ceca5ed5dfeabbba /arch/blackfin/mach-common/smp.c | |
parent | 2466ac65560ee8b7506eea3987aba9519355fd02 (diff) | |
download | linux-47e9dedb720364e0adff0e99960fa294c6161f71.tar.xz |
Blackfin: add blackfin_invalidate_entire_icache for SMP systems
The KGDB code uses this when switching processors to make sure the icache
is in a valid state.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/mach-common/smp.c')
-rw-r--r-- | arch/blackfin/mach-common/smp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index 3b8ebaee77f2..c187da2448bf 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c @@ -468,6 +468,17 @@ void smp_icache_flush_range_others(unsigned long start, unsigned long end) } EXPORT_SYMBOL_GPL(smp_icache_flush_range_others); +#ifdef __ARCH_SYNC_CORE_ICACHE +void resync_core_icache(void) +{ + unsigned int cpu = get_cpu(); + blackfin_invalidate_entire_icache(); + ++per_cpu(cpu_data, cpu).icache_invld_count; + put_cpu(); +} +EXPORT_SYMBOL(resync_core_icache); +#endif + #ifdef __ARCH_SYNC_CORE_DCACHE unsigned long barrier_mask __attribute__ ((__section__(".l2.bss"))); |