drivers/{pcie,wifi}/generic: Update untrusted property name

In order to align with established standards for establishing DMA
boundaries[1] from ACPI, the UntrustedDevice property has been renamed
to DmaProperty, which follows Microsoft's implementation. After
discussions with Microsoft, they have agreed to make the `UID` property
optional, so it is left out here, and instead it can be applied to:

1) Internal PCI devices
2) PCIe root ports
3) Downstream PCI(e) devices

[1]: https://docs.microsoft.com/en-us/windows-hardware/drivers/pci/dsd-for-pcie-root-ports

BUG=b:215424986

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: Id70e916532e3d3d70305fc61473da28c702fc397
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62435
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
This commit is contained in:
Tim Wawrzynczak 2022-02-23 10:17:21 -07:00
parent 114d650fce
commit afaee235fa
4 changed files with 7 additions and 8 deletions

View File

@ -5,7 +5,6 @@ config DRIVERS_PCIE_GENERIC
help help
This driver allows attaching arbitrary ACPI properties to This driver allows attaching arbitrary ACPI properties to
arbitrary PCI root ports or devices. Currently it supports one arbitrary PCI root ports or devices. Currently it supports one
property, "UntrustedDevice". This property indicates to the property, "DmaProperty", which indicates to the operating system that
operating system that the PCIe device may be considered the PCIe device may be considered untrusted, and appropriate policies,
untrusted, and appropriate policies, e.g. IOMMU isolation, e.g. IOMMU isolation, should take place.
should take place.

View File

@ -34,7 +34,7 @@ static void pcie_generic_fill_ssdt(const struct device *dev)
acpigen_write_ADR_pci_device(dev); acpigen_write_ADR_pci_device(dev);
dsd = acpi_dp_new_table("_DSD"); dsd = acpi_dp_new_table("_DSD");
acpi_dp_add_integer(dsd, "UntrustedDevice", 1); acpi_dp_add_integer(dsd, "DmaProperty", 1);
acpi_dp_write(dsd); acpi_dp_write(dsd);
acpigen_write_device_end(); acpigen_write_device_end();

View File

@ -515,13 +515,13 @@ static void wifi_ssdt_write_properties(const struct device *dev, const char *sco
/* Wake capabilities */ /* Wake capabilities */
acpigen_write_PRW(config->wake, ACPI_S3); acpigen_write_PRW(config->wake, ACPI_S3);
/* Add _DSD for UntrustedDevice property. */ /* Add _DSD for DmaProperty property. */
if (config->is_untrusted) { if (config->is_untrusted) {
struct acpi_dp *dsd, *pkg; struct acpi_dp *dsd, *pkg;
dsd = acpi_dp_new_table("_DSD"); dsd = acpi_dp_new_table("_DSD");
pkg = acpi_dp_new_table(ACPI_DSD_UNTRUSTED_UUID); pkg = acpi_dp_new_table(ACPI_DSD_UNTRUSTED_UUID);
acpi_dp_add_integer(pkg, "UntrustedDevice", 1); acpi_dp_add_integer(pkg, "DmaProperty", 1);
acpi_dp_add_package(dsd, pkg); acpi_dp_add_package(dsd, pkg);
acpi_dp_write(dsd); acpi_dp_write(dsd);
} }

View File

@ -10,7 +10,7 @@
struct drivers_wifi_generic_config { struct drivers_wifi_generic_config {
unsigned int wake; unsigned int wake;
/* When set to true, this will add a _DSD which contains a single /* When set to true, this will add a _DSD which contains a single
property, `UntrustedDevice`, set to 1, to the ACPI Device. */ property, `DmaProperty`, set to 1, under the ACPI Device. */
bool is_untrusted; bool is_untrusted;
}; };