问题描述
IP外围器件的驱动程序不支持虚拟到物理内存转换。当在使用MMU的应用程序(例如,Linux和QNX操作系统)中使用DMA时,这成为一个问题。
其中一个例子是处理缓冲区描述符的方式。驱动程序需要知道缓冲区描述符的虚拟和物理地址。他们需要虚拟地址来设置缓冲区描述符中的选项。他们需要物理地址来将其提供给DMA引擎。
解决/修复方法
较新的驱动程序(TEMAC和CAN)已经支持虚拟内存;将很快增加对其他EMAC驱动程序(EMAC,GMAC)的支持。
IP外围器件的驱动程序不支持虚拟到物理内存转换。当在使用MMU的应用程序(例如,Linux和QNX操作系统)中使用DMA时,这成为一个问题。
其中一个例子是处理缓冲区描述符的方式。驱动程序需要知道缓冲区描述符的虚拟和物理地址。他们需要虚拟地址来设置缓冲区描述符中的选项。他们需要物理地址来将其提供给DMA引擎。
较新的驱动程序(TEMAC和CAN)已经支持虚拟内存;将很快增加对其他EMAC驱动程序(EMAC,GMAC)的支持。
没有回复内容