Hi all,
Let me jump in. From the OS point of view the BME should be set for:
1) PCI bridges
2) for PCI class of IOAPIC devices (otherwise OS will not get any interrupt!) This PCI IOAPIC is for example on more high-end Xeons
3) sometimes it needs to be set on internal chipset devices. I remember that if 440BX had clear special cycle cleared it would refuse to poweroff - hard to debug! I guess per chipset it must be checked if it works with BME off...
4) the rest of the devices should have BME off
Side note:
BME is ignored by Intel integrated graphics - the DMA runs even if the BME is clear (this happens on core i7 chipsets for example) Thus thatswhy it needs RMRR IOMMU range for VGA...
Thanks Rudolf
On Mon, Nov 21, 2016 at 10:54 AM Rudolf Marek r.marek@assembler.cz wrote:
BME is ignored by Intel integrated graphics - the DMA runs even if the BME is clear (this happens on core i7 chipsets for example) Thus thatswhy it needs RMRR IOMMU range for VGA...
wow. It's amazing how many of the PCI violations I've dealt with over the years have been for intel chips :-)