diff mbox series

[v2,2/2] dt-bindings: Document "UntrustedDevice" property for PCI devices

Message ID 20220202020103.2149130-2-rajatja@google.com (mailing list archive)
State Superseded
Delegated to: Bjorn Helgaas
Headers show
Series [v2,1/2] PCI: Allow internal devices to be marked as untrusted | expand

Commit Message

Rajat Jain Feb. 2, 2022, 2:01 a.m. UTC
Add the new "UntrustedDevice" property for PCI devices. This property
is optional and can be applied to any PCI device.

Signed-off-by: Rajat Jain <rajatja@google.com>
---
v2: Initial version (added documentation based on comments)
v1: Does not exist.

 Documentation/devicetree/bindings/pci/pci.txt | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Rob Herring (Arm) Feb. 9, 2022, 9:57 p.m. UTC | #1
On Tue, Feb 01, 2022 at 06:01:03PM -0800, Rajat Jain wrote:
> Add the new "UntrustedDevice" property for PCI devices. This property
> is optional and can be applied to any PCI device.
> 
> Signed-off-by: Rajat Jain <rajatja@google.com>
> ---
> v2: Initial version (added documentation based on comments)
> v1: Does not exist.
> 
>  Documentation/devicetree/bindings/pci/pci.txt | 35 +++++++++++++++++++
>  1 file changed, 35 insertions(+)

New properties have to be in a schema which resides here:

https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/pci/pci-bus.yaml

> 
> diff --git a/Documentation/devicetree/bindings/pci/pci.txt b/Documentation/devicetree/bindings/pci/pci.txt
> index 6a8f2874a24d..bc1ba10f51e1 100644
> --- a/Documentation/devicetree/bindings/pci/pci.txt
> +++ b/Documentation/devicetree/bindings/pci/pci.txt
> @@ -82,3 +82,38 @@ pcie@10000000 {
>  		external-facing;
>  	};
>  };
> +
> +PCI Device Properties
> +---------------------
> +Following optional properties may be present for any PCI device:
> +
> +- UntrustedDevice:
> +   When present, this property is an indicator that this PCI device (and
> +   any downstream devices) are to be treated as untrusted by the kernel.
> +   The kernel can, for example, use this information to isolate such
> +   devices using a strict DMA protection via the IOMMU.
> +
> +   Example device tree node:
> +	pcie@0008 {
> +		/* PCI device 00:01.0 is an untrusted device */
> +		reg = <0x00000800 0 0 0 0>;
> +		UntrustedDevice = <1>;
> +	};
> +
> +   Example ACPI node:

Humm, your caret case smelled like ACPI to begin with. As far as ACPI 
bindings in Documentation/devicetree/bindings/ are concerned, NAK.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pci/pci.txt b/Documentation/devicetree/bindings/pci/pci.txt
index 6a8f2874a24d..bc1ba10f51e1 100644
--- a/Documentation/devicetree/bindings/pci/pci.txt
+++ b/Documentation/devicetree/bindings/pci/pci.txt
@@ -82,3 +82,38 @@  pcie@10000000 {
 		external-facing;
 	};
 };
+
+PCI Device Properties
+---------------------
+Following optional properties may be present for any PCI device:
+
+- UntrustedDevice:
+   When present, this property is an indicator that this PCI device (and
+   any downstream devices) are to be treated as untrusted by the kernel.
+   The kernel can, for example, use this information to isolate such
+   devices using a strict DMA protection via the IOMMU.
+
+   Example device tree node:
+	pcie@0008 {
+		/* PCI device 00:01.0 is an untrusted device */
+		reg = <0x00000800 0 0 0 0>;
+		UntrustedDevice = <1>;
+	};
+
+   Example ACPI node:
+	Scope (\_SB.PCI0.WFA3)
+	    {
+	        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
+	        {
+	            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device
+	Properties for _DSD */,
+	            Package (0x01)
+	            {
+	                Package (0x02)
+	                {
+	                    "UntrustedDevice",
+	                    One
+	                }
+	            }
+	        })
+	    }