Files
xen/docs/misc/arm/passthrough-noiommu.txt
T
Stefano Stabellini 4ec51e8780 xen/docs: Document how to do passthrough without IOMMU
This commit creates a new doc to document how to do passthrough without IOMMU.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
2022-02-17 19:43:02 +00:00

53 lines
1.6 KiB
Plaintext

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.