- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#h46a5bcb]
#backlinks
*説明 [#kcc24e1b]
-パス: [[linux-4.4.1/arch/arm/mm/dma.h]]
-FIXME: これは何?
--この API を直接呼んではならない。
**引数 [#zd8e6d53]
-
-const void *start
--
-size_t size
--
-int dir
--
**返り値 [#fdbe07b7]
-
--
-なし
**参考 [#ebacfbf5]
併記されているコメント。
/*
* These are private to the dma-mapping API. Do not use directly.
* Their sole purpose is to ensure that data held in the cache
* is visible to DMA, or data written by DMA to system memory is
* visible to the CPU.
*/
*実装 [#w0592d5b]
**MULTI_CACHE 有効 [#fa49b7e1]
**MULTI_CACHE 無効 [#fa49b7e1]
-単一の CPU 向けにビルドしていて、キャッシュの操作が 1種類しか無い場合。
--[[linux-4.4.1/MULTI_CACHE]]
#define dmac_map_area __glue(_CACHE,_dma_map_area)
-__glue() は名前を結合して一つのトークンにするマクロ。
-_CACHE は ARM アーキテクチャ名(v4, fa, arm926 など)を持つトークンで、関数名の接頭辞となる。
-例えば _CACHE が v4 であれば __glue(_CACHE,_dma_map_area) は v4_dma_map_area となる。
--[[linux-4.4.1/__glue()]]
--[[linux-4.4.1/_CACHE()]]
-たとえば ARMv7 なら v7_dma_map_area() になる。
--[[linux-4.4.1/v7_dma_map_area()]]
**MULTI_CACHE 無効 [#rbe4779c]
**MULTI_CACHE 有効 [#rbe4779c]
-複数の CPU 向けにビルドしていて、キャッシュの操作が複数ある場合。
#define dmac_map_area cpu_cache.dma_map_area
-
--[[linux-4.4.1/cpu_cache(global)]]
*コメント [#dcb30275]