在有MMU的计算机中,CPU看到的是虚拟地址,发给MMU后转换成物理地址,虚拟地址再经过相应的电路转换成总线地址,就是外设看到的地址。
所以,DMA外设看到的地址其实是总线地址
虚拟->物理 virt_to_phys()
物理->虚拟 ioremap()
虚拟->总线 virt_to_bus()
总线->虚拟 bus_to_virt()
在有MMU的计算机中,CPU看到的是虚拟地址,发给MMU后转换成物理地址,虚拟地址再经过相应的电路转换成总线地址,就是外设看到的地址。
所以,DMA外设看到的地址其实是总线地址
虚拟->物理 virt_to_phys()
物理->虚拟 ioremap()
虚拟->总线 virt_to_bus()
总线->虚拟 bus_to_virt()