From 447951f6033de0fdad198b8749fcd1466b3355d5 Mon Sep 17 00:00:00 2001 From: Atsushi Nemoto Date: Wed, 28 Sep 2005 20:24:58 +0900 Subject: [PATCH] --- yaml --- r: 11237 b: refs/heads/master c: 9043f7e95d104795fcb03a2f762524babcd49da5 h: refs/heads/master i: 11235: b9d7bd438aaa76b827610e9d0b94871e2eb46377 v: v3 --- [refs] | 2 +- trunk/arch/mips/mm/c-tx39.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index cce06ae0b0af..9d17c8fa600c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d58f302ca370c720fa47cb419f0b33eaa1a1132 +refs/heads/master: 9043f7e95d104795fcb03a2f762524babcd49da5 diff --git a/trunk/arch/mips/mm/c-tx39.c b/trunk/arch/mips/mm/c-tx39.c index 56c3fcdd2822..c3ba81dab31d 100644 --- a/trunk/arch/mips/mm/c-tx39.c +++ b/trunk/arch/mips/mm/c-tx39.c @@ -167,15 +167,16 @@ static void tx39_flush_cache_mm(struct mm_struct *mm) static void tx39_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) { - struct mm_struct *mm = vma->vm_mm; + int exec; - if (!cpu_has_dc_aliases) + if (!(cpu_context(smp_processor_id(), vma->vm_mm))) return; - if (cpu_context(smp_processor_id(), mm) != 0) { + exec = vma->vm_flags & VM_EXEC; + if (cpu_has_dc_aliases || exec) tx39_blast_dcache(); + if (exec) tx39_blast_icache(); - } } static void tx39_flush_cache_page(struct vm_area_struct *vma, unsigned long page, unsigned long pfn)