Skip to content

Commit

Permalink
dt-bindings: Add xen,grant-dma IOMMU description for xen-grant DMA ops
Browse files Browse the repository at this point in the history
The main purpose of this binding is to communicate Xen specific
information using generic IOMMU device tree bindings (which is
a good fit here) rather than introducing a custom property.

Introduce Xen specific IOMMU for the virtualized device (e.g. virtio)
to be used by Xen grant DMA-mapping layer in the subsequent commit.

The reference to Xen specific IOMMU node using "iommus" property
indicates that Xen grant mappings need to be enabled for the device,
and it specifies the ID of the domain where the corresponding backend
resides. The domid (domain ID) is used as an argument to the Xen grant
mapping APIs.

This is needed for the option to restrict memory access using Xen grant
mappings to work which primary goal is to enable using virtio devices
in Xen guests.

Signed-off-by: Oleksandr Tyshchenko <[email protected]>
Reviewed-by: Stefano Stabellini <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Juergen Gross <[email protected]>
  • Loading branch information
Oleksandr Tyshchenko authored and jgross1 committed Jun 6, 2022
1 parent fa1f574 commit add413a
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iommu/xen,grant-dma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Xen specific IOMMU for virtualized devices (e.g. virtio)

maintainers:
- Stefano Stabellini <[email protected]>

description:
The Xen IOMMU represents the Xen grant table interface. Grant mappings
are to be used with devices connected to the Xen IOMMU using the "iommus"
property, which also specifies the ID of the backend domain.
The binding is required to restrict memory access using Xen grant mappings.

properties:
compatible:
const: xen,grant-dma

'#iommu-cells':
const: 1
description:
The single cell is the domid (domain ID) of the domain where the backend
is running.

required:
- compatible
- "#iommu-cells"

additionalProperties: false

examples:
- |
iommu {
compatible = "xen,grant-dma";
#iommu-cells = <1>;
};

0 comments on commit add413a

Please sign in to comment.