Message ID | 1649963973-22879-4-git-send-email-olekstysh@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtio: Solution to restrict memory access under Xen using xen-virtio DMA ops layer | expand |
On Thu, 14 Apr 2022, Oleksandr Tyshchenko wrote: > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > > Introduce Xen specific binding for the virtio-mmio device to be used > by Xen virtio support driver in a subsequent commit. > > This binding specifies the ID of Xen domain where the corresponding > device (backend) resides. This is needed for the option to restrict > memory access using Xen grant mappings to work. > > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > --- > .../devicetree/bindings/virtio/xen,dev-domid.yaml | 39 ++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > create mode 100644 Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml > > diff --git a/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml b/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml > new file mode 100644 > index 00000000..78be993 > --- /dev/null > +++ b/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml > @@ -0,0 +1,39 @@ > +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/virtio/xen,dev-domid.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Xen specific binding for the virtio device > + > +maintainers: > + - Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > + > +select: true > + > +description: > + This binding specifies the ID of Xen domain where the corresponding device > + (backend) resides. This is needed for the option to restrict memory access > + using Xen grant mappings to work. > + > + Note that current and generic "iommus" bindings are mutually exclusive, since > + the restricted memory access model on Xen behaves as a kind of software IOMMU. I don't think that this last statement is necessary or fully accurate, so I would remove it. Other than that, this looks good to me. > +properties: > + xen,dev-domid: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Should contain the ID of device's domain. Maybe better as: "The domid (domain ID) of the domain where the device (backend) is running" > +additionalProperties: true > + > +examples: > + - | > + virtio_block@3000 { > + compatible = "virtio,mmio"; > + reg = <0x3000 0x100>; > + interrupts = <41>; > + > + /* The device is located in Xen domain with ID 1 */ > + xen,dev-domid = <1>; > + }; > -- > 2.7.4 >
On 16.04.22 01:01, Stefano Stabellini wrote: Hello Stefano > On Thu, 14 Apr 2022, Oleksandr Tyshchenko wrote: >> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> >> >> Introduce Xen specific binding for the virtio-mmio device to be used >> by Xen virtio support driver in a subsequent commit. >> >> This binding specifies the ID of Xen domain where the corresponding >> device (backend) resides. This is needed for the option to restrict >> memory access using Xen grant mappings to work. >> >> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> >> --- >> .../devicetree/bindings/virtio/xen,dev-domid.yaml | 39 ++++++++++++++++++++++ >> 1 file changed, 39 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml >> >> diff --git a/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml b/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml >> new file mode 100644 >> index 00000000..78be993 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml >> @@ -0,0 +1,39 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/virtio/xen,dev-domid.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Xen specific binding for the virtio device >> + >> +maintainers: >> + - Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> >> + >> +select: true >> + >> +description: >> + This binding specifies the ID of Xen domain where the corresponding device >> + (backend) resides. This is needed for the option to restrict memory access >> + using Xen grant mappings to work. >> + >> + Note that current and generic "iommus" bindings are mutually exclusive, since >> + the restricted memory access model on Xen behaves as a kind of software IOMMU. > I don't think that this last statement is necessary or fully accurate, so > I would remove it. ok, will remove > Other than that, this looks good to me. thank you > > >> +properties: >> + xen,dev-domid: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + Should contain the ID of device's domain. > Maybe better as: > "The domid (domain ID) of the domain where the device (backend) is running" ok, will change > > > >> +additionalProperties: true >> + >> +examples: >> + - | >> + virtio_block@3000 { >> + compatible = "virtio,mmio"; >> + reg = <0x3000 0x100>; >> + interrupts = <41>; >> + >> + /* The device is located in Xen domain with ID 1 */ >> + xen,dev-domid = <1>; >> + }; >> -- >> 2.7.4 >>
diff --git a/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml b/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml new file mode 100644 index 00000000..78be993 --- /dev/null +++ b/Documentation/devicetree/bindings/virtio/xen,dev-domid.yaml @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/virtio/xen,dev-domid.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Xen specific binding for the virtio device + +maintainers: + - Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> + +select: true + +description: + This binding specifies the ID of Xen domain where the corresponding device + (backend) resides. This is needed for the option to restrict memory access + using Xen grant mappings to work. + + Note that current and generic "iommus" bindings are mutually exclusive, since + the restricted memory access model on Xen behaves as a kind of software IOMMU. + +properties: + xen,dev-domid: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Should contain the ID of device's domain. + +additionalProperties: true + +examples: + - | + virtio_block@3000 { + compatible = "virtio,mmio"; + reg = <0x3000 0x100>; + interrupts = <41>; + + /* The device is located in Xen domain with ID 1 */ + xen,dev-domid = <1>; + };