ARMV8 用户态DMA cache一致性问题和解决
原因:dma和cpu都有操作内存的能力,dma操作内存不通过cpu和cache,即cpu cache感知不到dma对内存的操作因此cpu和dma合作时,就会存在cpu cache和内存的一致性问题,原因是dma对内存操作无法被cache感知。当然如果给dma的内存是no cache的,cpu不会使用cache,也就不存在相关问题。如果给dma的是带cache内存,那么cpu访问的时候就需要注意。armv8提供了cache相关指令解决上述问题,比如下面2条:dc civac Data or un
转载
2021-08-25 18:40:09 ·
1646 阅读 ·
0 评论