Hi Jinch, Replies inline below. On Tue, 12 Mar 2019, Jinch wrote: > Thank you for your reply, > I’m just researching the implementation of the SMMU driver in Xen and dom0 kernel. > If my board has SMMU of arm,mmu-500, do you mean that the Xen use the stage 2 of it and the dom0 kernel use stage1? Yes, that is the idea, however, it is not straightforward to implement from what I have been told. For your information, today, only stage2 in Xen works -- stage1 cannot be used by dom0 (or anybody else) and would be left unused. > And if I want to passthrough some device that use SMMU to domu, how the SMMU working in Xen and the domu kernel? As I mentioned, today Xen makes use of the SMMU, and nobody else in the system can access it, not dom0, not any domUs. I would love to have a way to export the SMMU to dom0 and/or a domU. To do that, the easiest way would be to introduce support for a paravirtualized IOMMU as Julien mentioned: Xen would expose a "fake" SMMU to guests, and based on its settings, it would program the real SMMU (it could even use stage1 to do it). The "fake" SMMU is not implemented yet. > > 在 2019年3月12日,下午7:42,Julien Grall 写道: > > > > > > On 3/12/19 8:58 AM, jinchen wrote: > >> Hello xen-devel, > > > > Hello, > > > >> I'm reading the code of xen arm smmu in drivers/passthrough/arm, and I have some questions that confused me. > >> I think if the board use SMMU, xen will take charge of it before dom0 boot, and will not pass the node of SMMU to dom0 in device tree, > >> so my question is how dom0 use SMMU? or can dom0 use SMMU? What dom0 use if it wants to use IOMMU? > >> What about domU? The SMMU could be passed to domU? > > > > Some SMMU are able to provide Stage 1 (Guest VA to Guest PA) and Stage 2 (Guest PA to Host PA) support. In the current configuration, Xen will use the Stage 2 part to isolate device passthrough. Stage 1 is not supported. > > > > If you wanted a guest to use the SMMU, you would either need to provide Stage 1 support (requires HW support) or a PV IOMMU. > > > > Alternatively, you might be able to give the SMMU to Dom0. I haven't explored it so far. Do you have a use case for using the IOMMU in guest? > > > > Cheers, > > > > -- > > Julien Grall > > > > >