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