mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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>
53 lines
1.6 KiB
Plaintext
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.
|