Open makubacki opened 6 days ago
Is there a way to make this condition impossible by construction and use depex to prevent PCI from being dispatches before IOMMU services are available? Can we have a Null IOMMU driver for platforms that do not have an IOMMU?
Description
Adds a PCD (
gEfiMdeModulePkgTokenSpaceGuid.PcdRequireIommu
) and support code to allow a platform to require that the IOMMU protocol be present before allowing PCI DMA operations to prevent DMA access prior to IOMMU initialization.The default is
FALSE
for compatibility. It is recommended platforms set toTRUE
and use the IOMMU protocol.How This Was Tested
Integration Instructions
If using DMA, ensure the IOMMU protocol is installed before mapping buffers and set the
PcdRequireIommu
PCD introduced toTRUE
.Please let me know if there's feedback on the default PCD value (whether it should be
TRUE
which is potentially a breaking change orFALSE
for compatibility).