PCIe devices can read or write to memory, i.e. can do DMA without requiring a device driver. If I remember correctly, if you flash a device's firmware (let's say an FPGA device) and input 0xFFFF as device and vendor ID, the device won't be enumerated by BIOS. I am wondering, if a PCIe device can conduct DMA operations (memory read and write) by bus mastering even when it is not enumerated by BIOS.
Asked
Active
Viewed 161 times
1 Answers
0
A PCIe device can only do DMA if Bus Master Enable (BME) is set in the command register. BME will only be set when a driver is active.

prl
- 11,716
- 2
- 13
- 31
-
1There are FPGA devices that can do DMA without a driver. They are controlled by another computer: https://www.youtube.com/watch?v=fXthwl6ShOg – Jordan T. Nov 01 '19 at 04:43
-
Why would the OS enable BME on a device with no driver loaded? That seems like an OS bug. – prl Nov 01 '19 at 09:20