在2k1000的用户手册中,有对IO互连网络的DMA请求路由方式进行阐述,如图。
其中提到窗口命中需要两个条件,一是地址经过掩码后与base相等,二是DMA访存属性和mmap[5]共同决定是否命中。此处关于cache的概念我并不是非常清楚,此处的cache指的是什么cache?
而DMA的访存属性由*_coherent配置,我在通用配置寄存器2中找到了定义,如图。
其中包含了camera、vpu、dc、gpu等设备的DMA请求类别,但是我并没有找到SATA设备的DMA请求类别。那么在配置SATA设备的DMA请求路由时,我应当将其视作是cache还是uncache呢?