*参照元 [#s90ed894] #backlinks *説明 [#r158e0aa] -パス: 複数あり --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: これは何? --説明 **引数 [#y797c22d] -struct mm_struct *mm -- --[[linux-4.4.1/mm_struct]] **返り値 [#j31cb60b] -なし **参考 [#j718268b] *実装 [#d2ad8123] **CONFIG_CPU_CACHE_VIPT 無効: arch/arm/include/asm/cacheflush.h [#oafdfb60] #define flush_cache_mm(mm) \ vivt_flush_cache_mm(mm) - --[[linux-4.4.1/vivt_flush_cache_mm()]] **CONFIG_CPU_CACHE_VIPT 有効: arch/arm/mm/flush.c [#t15a3a09] void flush_cache_mm(struct mm_struct *mm) { if (cache_is_vivt()) { vivt_flush_cache_mm(mm); return; } - --[[linux-4.4.1/cache_is_vivt()]] --[[linux-4.4.1/vivt_flush_cache_mm()]] 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()]] } *コメント [#ce9763af]