- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#n0e80b18]
#backlinks
*説明 [#s90d1903]
-パス: [[linux-4.4.1/arch/arm64/mm/cache.S]]
-FIXME: これは何?
--説明
**引数 [#e2c51cde]
-void *start
--
-void *end
--
**返り値 [#c5f9b510]
-なし
**参考 [#c5e970eb]
*実装 [#jb052321]
/*
* __dma_inv_range(start, end)
* - start - virtual start address of region
* - end - virtual end address of region
*/
__dma_inv_range:
dcache_line_size x2, x3
sub x3, x2, #1
tst x1, x3 // end cache line aligned?
bic x1, x1, x3
b.eq 1f
dc civac, x1 // clean & invalidate D / U line
1: tst x0, x3 // start cache line aligned?
bic x0, x0, x3
b.eq 2f
dc civac, x0 // clean & invalidate D / U line
b 3f
2: dc ivac, x0 // invalidate D / U line
3: add x0, x0, x2
cmp x0, x1
b.lo 2b
dsb sy
ret
ENDPIPROC(__inval_cache_range)
ENDPROC(__dma_inv_range)
*コメント [#q71a420a]