*参照元 [#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]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS