*参照元 [#t53cd61d]
#backlinks

*説明 [#mb1c3817]
-パス: [[linux-4.4.1/arch/arm/kernel/setup.c]]

-外部キャッシュの操作関数。
-以下の実装の工夫により、外部キャッシュを持たないアーキテクチャ(=CONFIG_OUTER_CACHE 無効)で、ムリヤリ外部キャッシュを操作しようとしたとき、実行時にクラッシュするのでは無く、リンクエラーとして検出できる。
-ARM アーキテクチャの外部キャッシュの操作関数。
-以下の実装の工夫により、外部キャッシュを持たない CPU/SoC(=CONFIG_OUTER_CACHE 無効)で、ムリヤリ外部キャッシュを操作しようとしたとき、実行時にクラッシュするのでは無く、リンクエラーとして検出できる。
--個別の外部キャッシュ操作関数は EXPORT_SYMBOL しない。
--DMA API の実装時に CONFIG_OUTER_CACHE 有効/無効により実装を分け、
CONFIG_OUTER_CACHE 有効のときは必ずこの変数を参照して外部キャッシュを操作する。


**参考 [#g3c84784]


*実装 [#u19d4c0c]
 #ifdef CONFIG_OUTER_CACHE
-外部キャッシュを持つアーキテクチャの場合。
--[[linux-4.4.1/CONFIG_OUTER_CACHE]]

 struct outer_cache_fns outer_cache __read_mostly;
-システム起動時にしか書き換えない。
--[[linux-4.4.1/outer_cache_fns]]
--[[linux-4.4.1/__read_mostly]]

 EXPORT_SYMBOL(outer_cache);
-ライセンスに関わらずシンボルを公開する。
--[[linux-4.4.1/EXPORT_SYMBOL()]]

 #endif


*コメント [#ve386277]

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