linux-4.4.1/__dma_clean_range()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#o33e1c6d]
#backlinks
*説明 [#gd557a06]
-パス: [[linux-4.4.1/arch/arm64/mm/cache.S]]
-FIXME: これは何?
--キャッシュの変更された内容(dirty ビットでマークされて...
--キャッシュの内容の dirty ビットを消す
--キャッシュの内容は残るので、次に CPU から read したとき...
原文
Invalidation
means to clear it of data, by clearing the valid bit of ...
The cache must always be invalidated after reset as its ...
This can also be viewed as a way of making changes in th...
the cache visible to the user of the cache.
Cleaning
means writing the contents of cache lines that are marke...
out to the next level of cache, or to main memory, and c...
dirty bits in the cache line.
This makes the contents of the cache line with the next ...
This is only applicable for data caches in which a write...
This is also a way of making changes in the cache visibl...
but is only available for data cache.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.d...
**引数 [#v36f2200]
-void *start
--
-void *end
--
**返り値 [#tb2fa64b]
-なし
**参考 [#me0e8de5]
*実装 [#g3a4cdf2]
/*
* __dma_clean_range(start, end)
* - start - virtual start address of region
* - end - virtual end address of region
*/
__dma_clean_range:
dcache_line_size x2, x3
-
--[[linux-4.4.1/dcache_line_size()]]
sub x3, x2, #1
bic x0, x0, x3
1:
alternative_if_not ARM64_WORKAROUND_CLEAN_CACHE
dc cvac, x0
alternative_else
dc civac, x0
alternative_endif
add x0, x0, x2
cmp x0, x1
b.lo 1b
dsb sy
ret
ENDPROC(__dma_clean_range)
*コメント [#j58b08b6]
終了行:
*参照元 [#o33e1c6d]
#backlinks
*説明 [#gd557a06]
-パス: [[linux-4.4.1/arch/arm64/mm/cache.S]]
-FIXME: これは何?
--キャッシュの変更された内容(dirty ビットでマークされて...
--キャッシュの内容の dirty ビットを消す
--キャッシュの内容は残るので、次に CPU から read したとき...
原文
Invalidation
means to clear it of data, by clearing the valid bit of ...
The cache must always be invalidated after reset as its ...
This can also be viewed as a way of making changes in th...
the cache visible to the user of the cache.
Cleaning
means writing the contents of cache lines that are marke...
out to the next level of cache, or to main memory, and c...
dirty bits in the cache line.
This makes the contents of the cache line with the next ...
This is only applicable for data caches in which a write...
This is also a way of making changes in the cache visibl...
but is only available for data cache.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.d...
**引数 [#v36f2200]
-void *start
--
-void *end
--
**返り値 [#tb2fa64b]
-なし
**参考 [#me0e8de5]
*実装 [#g3a4cdf2]
/*
* __dma_clean_range(start, end)
* - start - virtual start address of region
* - end - virtual end address of region
*/
__dma_clean_range:
dcache_line_size x2, x3
-
--[[linux-4.4.1/dcache_line_size()]]
sub x3, x2, #1
bic x0, x0, x3
1:
alternative_if_not ARM64_WORKAROUND_CLEAN_CACHE
dc cvac, x0
alternative_else
dc civac, x0
alternative_endif
add x0, x0, x2
cmp x0, x1
b.lo 1b
dsb sy
ret
ENDPROC(__dma_clean_range)
*コメント [#j58b08b6]
ページ名: