Hi Julien, > On 30 Mar 2025, at 23:38, Julien Grall <jul...@xen.org> wrote: > > Hi Bertrand, > > On 27/03/2025 08:37, Bertrand Marquis wrote: >>> On 27 Mar 2025, at 00:41, Julien Grall <jul...@xen.org> wrote: >>> >>> Hi Bertrand, >>> >>> On 24/03/2025 13:53, Bertrand Marquis wrote: >>>> When VM to VM support is activated and there is no suitable FF-A support >>>> in the firmware, enable FF-A support for VMs to allow using it for VM to >>>> VM communications. >>> >>> tee/ and the callbacks associated are meant to be used for mediatiors. My >>> current interpretation ist this is only meant to interpose between a guest >>> and physical resources. Here you are extending the meaning to "virtual >>> TEE". I am sort of ok with that but ... >> I see what you mean but FF-A will not only be used to communicate with TEE >> (even if the primary use case right now is this one, including have it in a >> VM instead of the secure world). > > >> >>>> If there is OP-TEE running in the secure world and using the non FF-A >>>> communication system, having CONFIG_FFA_VM_TO_VM could be non functional >>>> (if optee is probed first) or OP-TEE could be non functional (if FF-A is >>>> probed first) so it is not recommended to activate the configuration >>>> option for such systems. >>> >>> ... this part is concerning me. You should be able to build with >>> CONFIG_FFA_VM_TO_VM and still boot when OP-TEE is present on the system. >>> This is not too critical now as this is tech preview but this is definitely >>> a blocker for making FFA supported. Can this be mentioned at the top of the >>> ffa.c file (which already contains existing blocker)? >> OP-TEE supports FF-A and in fact should be switched to using it by default >> as it allows it to run in parallel of other TEEs in the secure world or have >> FF-A compliant SPs running on top of OP-TEE. >> More and more you will see FF-A popping up as a recommended (or required) >> part of the firmware features. >> So the only reason to use OP-TEE without FF-A is if you have an old OP-TEE >> in which case your firmware will not support FF-A and using it between VMs >> is probably not required. > > Thanks for the clarification. I know we only support OP-TEE in Xen today, but > do you know what will happen for the other TEEs? Will they adopt FF-A?
On Arm the idea is to make them adopt FF-A yes and it will be part of System Ready recommendations in the future. > >>> >>> Also, given this would expose a fully virtual TEE, we should be able to >>> have a system where you have some VMs talking FFA and some using the >>> physical OPTEE (or another TEE). Whether we want to support it is a >>> different question but this design would prevent it. Is this intended? >> Right now i would say this is definitely not something we need as part of >> the tech preview as anybody using this feature in Xen would use an OP-TEE >> with FF-A support. >> But from Xen point of view, we should (if we can) support running on old >> systems with an existing OP-TEE but still use FF-A between VMs. >> This has some consequences on how the tee mediator and FF-A support is >> designed and I will definitely give it some thoughts (primary idea would be >> to decouple FF-A with secure as mediator to FF-A between VMs somehow). > > I am not sure we need to decouple anything. Today, we can already specify the > type of the TEE used by a given VM (see tee_type). But we are enforcing the > TEE type match the one of the current mediator. Yes for VMs this has to be specified explicitly, this was the idea behind the command line parameter for Xen to. > > So what if we allow multiple mediator to run and when the domain is > initialized we select the correct medatior/ops for the VM? Right now a VM gets the mediator selected by configuration if it is available. I do not think we should make it automatic as there might be good reasons to not allow to access a TEE from some VMs. > > For simplification, we could even hardocode FF-A as the second mediator. That could be a long term solution yes but we definitely need to solve the access rights first. As long as VMs can use FF-A to communicate with any other VMs or TEEs, the current approach is the most secure one. > >> For the review side of things, am I right to understand from your comments >> that this ok for now as tech-preview ? > > Yes I am happy with the approach for now. Great thanks. Cheers Bertrand > > Cheers, > > -- > Julien Grall >