Hi Penny,

> On 16 Nov 2021, at 06:31, Penny Zheng <[email protected]> wrote:
> 
> From: Stefano Stabellini <[email protected]>
> 
> This commit creates a new doc to document how to do passthrough without IOMMU.
> 
> Signed-off-by: Stefano Stabellini <[email protected]>
> Signed-off-by: Penny Zheng <[email protected]>
> ---
> docs/misc/arm/passthrough-noiommu.txt | 52 +++++++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
> create mode 100644 docs/misc/arm/passthrough-noiommu.txt
> 
> diff --git a/docs/misc/arm/passthrough-noiommu.txt 
> b/docs/misc/arm/passthrough-noiommu.txt
> new file mode 100644
> index 0000000000..3e2ef21ad7
> --- /dev/null
> +++ b/docs/misc/arm/passthrough-noiommu.txt
> @@ -0,0 +1,52 @@
> +Request Device Assignment without IOMMU support
> +===============================================
> +
> +*WARNING:
> +Users should be aware that it is not always secure to assign a device without
> +IOMMU protection.
> +When the device is not protected by the IOMMU, the administrator should make
> +sure that:
> + 1. The device is assigned to a trusted guest.
> + 2. Users have additional security mechanism on the platform.
> +
> +This document assumes that the IOMMU is absent from the system or it is
> +disabled (status = "disabled" in device tree).
> +
> +Add xen,force-assign-without-iommu; to the device tree snippet:
> +
> +ethernet: ethernet@ff0e0000 {
> +     compatible = "cdns,zynqmp-gem";
> +     xen,path = "/amba/ethernet@ff0e0000";
> +     xen,reg = <0x0 0xff0e0000 0x1000 0x0 0xff0e0000>;
> +     xen,force-assign-without-iommu;
> +};
> +
> +Request 1:1 memory mapping for the domain on static allocation
> +==============================================================
> +
> +Add a direct-map property under the appropriate /chosen/domU node which
> +is also statically allocated with physical memory ranges through
> +xen,static-mem property as its guest RAM.
> +
> +Below is an example on how to specify the 1:1 memory mapping for the domain
> +on static allocation in the device-tree:
> +
> +/ {
> +     chosen {
> +             domU1 {
> +                     compatible = "xen,domain";
> +                     #address-cells = <0x2>;
> +                     #size-cells = <0x2>;
> +                     cpus = <2>;
> +                     memory = <0x0 0x80000>;
> +                     #xen,static-mem-address-cells = <0x1>;
> +                     #xen,static-mem-size-cells = <0x1>;
> +                     xen,static-mem = <0x30000000 0x20000000>;
> +                     direct-map;
> +                     ...
> +             };
> +     };
> +};
> +
> +Besides reserving a 512MB region starting at the host physical address
> +0x30000000 to DomU1, it also requests 1:1 memory mapping.

If the guest has some reserved-memory in the device tree, those will not be 
handle by Xen for DomUs.
I think it could be a good idea in the documentation to mention that any 
reserved-memory required must be assigned using static-mem to the DomU.

This could take the form of a comment or a warning in this document.

Regards
Bertrand

> -- 
> 2.25.1
> 


Reply via email to