【发布时间】:2020-02-27 10:23:07
【问题描述】:
PCIe 设备可以读取或写入内存,即无需设备驱动程序即可进行 DMA。 如果我没记错的话,如果您刷新设备的固件(假设是 FPGA 设备)并输入 0xFFFF 作为设备和供应商 ID,则 BIOS 不会枚举该设备。 我想知道,即使没有被 BIOS 枚举,PCIe 设备是否可以通过总线主控进行 DMA 操作(内存读取和写入)。
【问题讨论】:
标签: hardware boot bios pci-e bus
PCIe 设备可以读取或写入内存,即无需设备驱动程序即可进行 DMA。 如果我没记错的话,如果您刷新设备的固件(假设是 FPGA 设备)并输入 0xFFFF 作为设备和供应商 ID,则 BIOS 不会枚举该设备。 我想知道,即使没有被 BIOS 枚举,PCIe 设备是否可以通过总线主控进行 DMA 操作(内存读取和写入)。
【问题讨论】:
标签: hardware boot bios pci-e bus
只有在命令寄存器中设置了总线主控启用 (BME) 时,PCIe 设备才能执行 DMA。仅当驱动程序处于活动状态时才会设置 BME。
【讨论】: