首页 > 解决方案 > 非枚举设备能否进行 DMA 操作?

问题描述

PCIe 设备可以读取或写入内存,即无需设备驱动程序即可进行 DMA。如果我没记错的话,如果您刷新设备的固件(假设是 FPGA 设备)并输入 0xFFFF 作为设备和供应商 ID,则 BIOS 不会枚举该设备。我想知道,即使 BIOS 未枚举 PCIe 设备,是否也可以通过总线主控进行 DMA 操作(内存读取和写入)。

标签: hardwarebootbiospci-ebus

解决方案


只有在命令寄存器中设置了总线主控启用 (BME) 时,PCIe 设备才能执行 DMA。仅当驱动程序处于活动状态时才会设置 BME。


推荐阅读