man. Most of these BME things revolve around intel. Not surprising, but not good.

Does anyone care about the realtek 8168? And why on earth does it need BME? Can it just be initialized but not have DMA enabled?

I wonder if we should scan for anything with BME set, at each stage transition, and print a warning for each one found?



On Sun, Nov 20, 2016 at 3:52 PM ron minnich <rminnich@gmail.com> wrote:
On Sun, Nov 20, 2016 at 3:49 PM Kyösti Mälkki <kyosti.malkki@gmail.com> wrote:
On Mon, Nov 21, 2016 at 1:36 AM, ron minnich <rminnich@gmail.com> wrote:
The way coreboot has always enforced DMA protections is to not set bus master enabling on IO devices. I trust that particular setting a lot more than I trust trying to configure an IOMMU, given that such configuration seems to require trying to parse ACPI DMAR tables. If you will now tell me that some bad IO device might ignore BME, then I would want to know how to disable PCI bus mastering in the root complex, but certainly not via the IOMMU. 


And just grepping for PCI_COMMAND_MASTER would suggest such enforcing has completely been forgotten for some years. Like for the UART of intel/skylake in bootblock already.



That needs to be fixed it would seem :-)

ron