参照元†
返り値†
CONFIG_CPU_CACHE_VIPT 無効: arch/arm/include/asm/cacheflush.h†
#define flush_cache_range(vma,start,end) \
                vivt_flush_cache_range(vma,start,end)
CONFIG_CPU_CACHE_VIPT 有効: arch/arm/mm/flush.c†
void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end)
{
        if (cache_is_vivt()) {
                vivt_flush_cache_range(vma, start, end);
                return;
        }
        if (cache_is_vipt_aliasing()) {
                asm(    "mcr    p15, 0, %0, c7, c14, 0\n"
                "       mcr     p15, 0, %0, c7, c10, 4"
                    :
                    : "r" (0)
                    : "cc");
        }
        if (vma->vm_flags & VM_EXEC)
                __flush_icache_all();
}
コメント†