Message ID | 20190521212530.12706-1-volodymyr_babchuk@epam.com (mailing list archive) |
---|---|
Headers | show |
Series | TEE mediator (and OP-TEE) support in XEN | expand |
Hi Volodymyr, I tried to apply the patches to staging but fail because the patches contains =20. Do you have a tree with the series applied? Cheers, On 5/21/19 10:25 PM, Volodymyr Babchuk wrote: > Hello community, > > This is the fifth version of OP-TEE mediator in XEN. > > OP-TEE 3.5.0 was released when I worked on this version of the > pathes. This is the first release where virtualization support is > available. This release includes both original virtualization patches > and new SMC that retrevies number of threads from OP-TEE. > > Many thanks to both OP-TEE and Xen communities for reviewing and helping > with my changes to the both projects. > > Global changes from v4: > - Substantial rework of OP-TEE mediator. Now it tries to return meaningful > error codes back to the guest. > - OP-TEE mediator does not use struct cpu_user_regs as a storage for > parameters and return values when calling OP-TEE. This makes it > compatbile with requirement from SMCCC. > - tee=native option replaced with tee=optee > - Authorship and s-o-b tag reset to my EPAM mail address > > Overall changes from v3: > > - Patch "arm: add tee_enabled flag to xen_arch_domainconfig" was > squashed into "xen/arm: add generic TEE mediator framework" > - I implemented more elaborate error repoting to a guest. Now guest > will get meaningful error codes instead of generic > ARM_SMCCC_ERR_UNKNOWN_FUNCTION. > > Per-patch changes are described in corresponding emails. > > Changes from v2: > > - Use domain flags insted of domctl interface to enable optee for guests > - Remove patch "libxc: add xc_dom_tee_enable(...) function" because > of previous change > - Mediator now stores own context in arch part of struct domain, so > I removed patch "optee: add domain contexts" > > Per-patch changes are described in corresponding emails. > > ==== > v2: > > This is v2 of patch series for OP-TEE mediator support in XEN. Changes from v1: > > - Added domctl interface, so now xl decides what domain should work with TEE > - Removed XSM support due to change described above > - Patch with OP-TEE mediator was splited to 7 separate patches > - Removed patch with call_smccc() function. Now this series depend on > Julien Grall's series "xen/arm: SMCCC fixup and improvement" [3] > > ===== > v1: > > This is follow for patch series [1]. There was lots of discussions > for that series and I tried to address all of them in this new patchset. > > Currently, I had a working solution for OP-TEE virtualization and it is being > upstreamed right now ([2]). So, I think it is a good time to introduce support > in XEN as well. > > This series include generic TEE mediator framework and full-scale OP-TEE mediator > which is working with mentioned chages in OP-TEE. So, multiple domains can > work simultaneously with OP-TEE. > > I added XSM support, so now it is possible to control which domains can work > with TEEs. Also I changed way how TEE discovery is done. Now it is very > generic and should support any platform. > > [1] https://lists.xenproject.org/archives/html/xen-devel/2017-10/msg01451.html > [2] https://github.com/OP-TEE/optee_os/pull/2370 > [3] https://lists.xenproject.org/archives/html/xen-devel/2018-08/msg02138.html > > > Volodymyr Babchuk (10): > xen/arm: add generic TEE mediator framework > xen/arm: optee: add OP-TEE header files > xen/arm: optee: add OP-TEE mediator skeleton > xen/arm: optee: add fast calls handling > xen/arm: optee: add std call handling > xen/arm: optee: add support for RPC SHM buffers > xen/arm: optee: add support for arbitrary shared memory > xen/arm: optee: add support for RPC commands > tools/arm: tee: add "tee" option for xl.cfg > tools/arm: optee: create optee firmware node in DT if tee=optee > > MAINTAINERS | 6 + > docs/man/xl.cfg.5.pod.in | 19 + > tools/libxl/libxl.h | 5 + > tools/libxl/libxl_arm.c | 42 + > tools/libxl/libxl_types.idl | 6 + > tools/xl/xl_parse.c | 9 + > xen/arch/arm/Kconfig | 9 + > xen/arch/arm/Makefile | 1 + > xen/arch/arm/domain.c | 19 + > xen/arch/arm/setup.c | 2 + > xen/arch/arm/tee/Kconfig | 4 + > xen/arch/arm/tee/Makefile | 2 + > xen/arch/arm/tee/optee.c | 1536 +++++++++++++++++++++++++++ > xen/arch/arm/tee/tee.c | 93 ++ > xen/arch/arm/vsmc.c | 5 + > xen/arch/arm/xen.lds.S | 7 + > xen/include/asm-arm/domain.h | 4 + > xen/include/asm-arm/tee/optee_msg.h | 444 ++++++++ > xen/include/asm-arm/tee/optee_smc.h | 556 ++++++++++ > xen/include/asm-arm/tee/tee.h | 109 ++ > xen/include/public/arch-arm.h | 4 + > 21 files changed, 2882 insertions(+) > create mode 100644 xen/arch/arm/tee/Kconfig > create mode 100644 xen/arch/arm/tee/Makefile > create mode 100644 xen/arch/arm/tee/optee.c > create mode 100644 xen/arch/arm/tee/tee.c > create mode 100644 xen/include/asm-arm/tee/optee_msg.h > create mode 100644 xen/include/asm-arm/tee/optee_smc.h > create mode 100644 xen/include/asm-arm/tee/tee.h >
Hi Julien, Julien Grall writes: > Hi Volodymyr, > > I tried to apply the patches to staging but fail because the patches > contains =20. Do you have a tree with the series applied? Sure, you can find them at [1] [1] https://github.com/lorc/xen/tree/optee_v5
On 6/1/19 5:07 PM, Volodymyr Babchuk wrote: > > Hi Julien, Hi Volodymyr, > Julien Grall writes: > >> Hi Volodymyr, >> >> I tried to apply the patches to staging but fail because the patches >> contains =20. Do you have a tree with the series applied? > > Sure, you can find them at [1] Thank you! The branch is based on master. This is fairly behind staging. Could you rebase this on top of staging? I will go through the series next week. As this is a tech preview, I am planning to merge this version unless I find something horribly wrong in it. Cheers,
Hello Julien, Julien Grall writes: > On 6/1/19 5:07 PM, Volodymyr Babchuk wrote: >> >> Hi Julien, > > Hi Volodymyr, > >> Julien Grall writes: >> >>> Hi Volodymyr, >>> >>> I tried to apply the patches to staging but fail because the patches >>> contains =20. Do you have a tree with the series applied? >> >> Sure, you can find them at [1] > > Thank you! The branch is based on master. This is fairly behind > staging. Could you rebase this on top of staging? > > I will go through the series next week. As this is a tech preview, I > am planning to merge this version unless I find something horribly > wrong in it. Thank you for review. I really appreciate this. I just want to clarify, what I should do next. If I got you right, I should send v6, rebased on staging and with your comments addressed. Is this right? -- Best regards,Volodymyr Babchuk
Hi Volodymyr, On 6/4/19 2:31 PM, Volodymyr Babchuk wrote: > > Hello Julien, > > Julien Grall writes: > >> On 6/1/19 5:07 PM, Volodymyr Babchuk wrote: >>> >>> Hi Julien, >> >> Hi Volodymyr, >> >>> Julien Grall writes: >>> >>>> Hi Volodymyr, >>>> >>>> I tried to apply the patches to staging but fail because the patches >>>> contains =20. Do you have a tree with the series applied? >>> >>> Sure, you can find them at [1] >> >> Thank you! The branch is based on master. This is fairly behind >> staging. Could you rebase this on top of staging? >> >> I will go through the series next week. As this is a tech preview, I >> am planning to merge this version unless I find something horribly >> wrong in it. > Thank you for review. I really appreciate this. > > I just want to clarify, what I should do next. If I got you right, I > should send v6, rebased on staging and with your comments addressed. Is > this right? Yes please. Can you collect the acks at the same time? Let me know if there are any major changes on the rebase on staging. Cheers,