В третий раз перечитал абзац из спецификации:
Цитата:
The Command register provides coarse control over a device's ability to generate and
respond to PCI cycles. When a 0 is written to this register, the device is logically
disconnected from the PCI bus for all accesses except configuration accesses. All devices
are required to support this base level of functionality. Individual bits in the Command
register may or may not be implemented depending on a device’s functionality. For
instance, devices that do not implement an I/O Space will not implement a writable element
at bit location 0 of the Command register. Devices typically power up with all 0's in this
register, but Section 6.6 explains some exceptions. Figure 6-2 shows the layout of the
register and Table 6-1 explains the meanings of the different bits in the Command register.
Выходит, что для устройства, которое не поддерживает какую-то функцию, соответствующий бит будет Read-Only и равен нулю. Только вот в QEMU бит Bus Master является Writable, однако PCI DMA не работает. А в VMWare тоже Writable, и PCI DMA работает. Вот сижу гадаю: толи глюк QEMU, толи проверка недостаточная...