Commit 80ca69f4 authored by Markos Chandras's avatar Markos Chandras Committed by Ralf Baechle

MIPS: mm: c-r4k: Add support for flushing user pages from cache

Use the userspace cache flushing functions if the interrupted
process is a userspace one.
Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
parent 4caa906e
...@@ -562,7 +562,8 @@ static inline void local_r4k_flush_cache_page(void *args) ...@@ -562,7 +562,8 @@ static inline void local_r4k_flush_cache_page(void *args)
} }
if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) { if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) {
r4k_blast_dcache_page(addr); vaddr ? r4k_blast_dcache_page(addr) :
r4k_blast_dcache_user_page(addr);
if (exec && !cpu_icache_snoops_remote_store) if (exec && !cpu_icache_snoops_remote_store)
r4k_blast_scache_page(addr); r4k_blast_scache_page(addr);
} }
...@@ -573,7 +574,8 @@ static inline void local_r4k_flush_cache_page(void *args) ...@@ -573,7 +574,8 @@ static inline void local_r4k_flush_cache_page(void *args)
if (cpu_context(cpu, mm) != 0) if (cpu_context(cpu, mm) != 0)
drop_mmu_context(mm, cpu); drop_mmu_context(mm, cpu);
} else } else
r4k_blast_icache_page(addr); vaddr ? r4k_blast_icache_page(addr) :
r4k_blast_icache_user_page(addr);
} }
if (vaddr) { if (vaddr) {
......
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