PCI: OF: Support "external-facing" property
Set the "untrusted" attribute to any PCIe port that has an "external-facing" device tree property. Any device downstream of this port will inherit the attribute and have only the strictest IOMMU protection. Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
committed by
Bjorn Helgaas
parent
badd9f19f1
commit
9cb30a71ac
@@ -31,10 +31,16 @@ void pci_release_of_node(struct pci_dev *dev)
|
|||||||
|
|
||||||
void pci_set_bus_of_node(struct pci_bus *bus)
|
void pci_set_bus_of_node(struct pci_bus *bus)
|
||||||
{
|
{
|
||||||
if (bus->self == NULL)
|
struct device_node *node;
|
||||||
bus->dev.of_node = pcibios_get_phb_of_node(bus);
|
|
||||||
else
|
if (bus->self == NULL) {
|
||||||
bus->dev.of_node = of_node_get(bus->self->dev.of_node);
|
node = pcibios_get_phb_of_node(bus);
|
||||||
|
} else {
|
||||||
|
node = of_node_get(bus->self->dev.of_node);
|
||||||
|
if (node && of_property_read_bool(node, "external-facing"))
|
||||||
|
bus->self->untrusted = true;
|
||||||
|
}
|
||||||
|
bus->dev.of_node = node;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pci_release_bus_of_node(struct pci_bus *bus)
|
void pci_release_bus_of_node(struct pci_bus *bus)
|
||||||
|
|||||||
Reference in New Issue
Block a user