Commit a1e262f6 authored by Rich Felker's avatar Rich Felker

sh: do not perform IPI-based cache flush except on boards that need it

Signed-off-by: default avatarRich Felker <dalias@libc.org>
parent b4214e41
...@@ -42,6 +42,8 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info, ...@@ -42,6 +42,8 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info,
{ {
preempt_disable(); preempt_disable();
/* Needing IPI for cross-core flush is SHX3-specific. */
#ifdef CONFIG_CPU_SHX3
/* /*
* It's possible that this gets called early on when IRQs are * It's possible that this gets called early on when IRQs are
* still disabled due to ioremapping by the boot CPU, so don't * still disabled due to ioremapping by the boot CPU, so don't
...@@ -49,6 +51,7 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info, ...@@ -49,6 +51,7 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info,
*/ */
if (num_online_cpus() > 1) if (num_online_cpus() > 1)
smp_call_function(func, info, wait); smp_call_function(func, info, wait);
#endif
func(info); func(info);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment