- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#h753765a]
#backlinks
*説明 [#d25fe883]
-パス: 複数あり
--CONFIG_CPU_CACHE_VIPT 無効: [[linux-4.4.1/arch/arm/include/asm/cacheflush.h]]
--CONFIG_CPU_CACHE_VIPT 有効: [[linux-4.4.1/arch/arm/mm/flush.c]]
--[[linux-4.4.1/CONFIG_CPU_CACHE_VIPT]]
-FIXME: これは何?
--説明
**引数 [#of21c1e4]
-
--
**返り値 [#p2736f7c]
-
--
**参考 [#n24bd15a]
*実装 [#n75c5df6]
**CONFIG_CPU_CACHE_VIPT 無効: arch/arm/include/asm/cacheflush.h [#e7a412f3]
#define flush_cache_range(vma,start,end) \
vivt_flush_cache_range(vma,start,end)
-
--[[linux-4.4.1/vivt_flush_cache_range()]]
**CONFIG_CPU_CACHE_VIPT 有効: arch/arm/mm/flush.c [#fea0d1a7]
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;
}
-
--[[linux-4.4.1/cache_is_vivt()]]
--[[linux-4.4.1/vivt_flush_cache_range()]]
if (cache_is_vipt_aliasing()) {
asm( "mcr p15, 0, %0, c7, c14, 0\n"
" mcr p15, 0, %0, c7, c10, 4"
:
: "r" (0)
: "cc");
}
-
--[[linux-4.4.1/cache_is_vipt_aliasing()]]
if (vma->vm_flags & VM_EXEC)
__flush_icache_all();
-
--[[linux-4.4.1/__flush_icache_all()]]
}
*コメント [#o4bf4dfd]