From: Julien Grall <julien.grall@arm.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Wei Liu <wei.liu2@citrix.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
George Dunlap <George.Dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
"tee-dev@lists.linaro.org" <tee-dev@lists.linaro.org>,
Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v5 00/10] TEE mediator (and OP-TEE) support in XEN
Date: Sat, 1 Jun 2019 15:50:10 +0100 [thread overview]
Message-ID: <06a4f534-e671-004c-93bb-31b60ed77d28@arm.com> (raw)
In-Reply-To: <20190521212530.12706-1-volodymyr_babchuk@epam.com>
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
>
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Julien Grall <julien.grall@arm.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Wei Liu <wei.liu2@citrix.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
George Dunlap <George.Dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
"tee-dev@lists.linaro.org" <tee-dev@lists.linaro.org>,
Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH v5 00/10] TEE mediator (and OP-TEE) support in XEN
Date: Sat, 1 Jun 2019 15:50:10 +0100 [thread overview]
Message-ID: <06a4f534-e671-004c-93bb-31b60ed77d28@arm.com> (raw)
Message-ID: <20190601145010.hxTtK_Q4yyBEzjuHhPsxhMyb-ygUD87juEoESOYCz3k@z> (raw)
In-Reply-To: <20190521212530.12706-1-volodymyr_babchuk@epam.com>
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
>
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-06-01 14:50 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-21 21:25 [PATCH v5 00/10] TEE mediator (and OP-TEE) support in XEN Volodymyr Babchuk
2019-05-21 21:25 ` [Xen-devel] " Volodymyr Babchuk
2019-05-21 21:25 ` [PATCH v5 01/10] xen/arm: add generic TEE mediator framework Volodymyr Babchuk
2019-05-21 21:25 ` [Xen-devel] " Volodymyr Babchuk
2019-05-22 8:45 ` Jan Beulich
2019-05-22 8:45 ` [Xen-devel] " Jan Beulich
2019-05-22 9:27 ` Julien Grall
2019-05-22 9:27 ` [Xen-devel] " Julien Grall
2019-05-22 10:02 ` Jan Beulich
2019-05-22 10:02 ` [Xen-devel] " Jan Beulich
2019-05-22 12:04 ` Julien Grall
2019-05-22 12:04 ` [Xen-devel] " Julien Grall
2019-06-03 11:46 ` Julien Grall
2019-06-03 11:46 ` [Xen-devel] " Julien Grall
2019-06-03 11:48 ` Julien Grall
2019-06-03 11:48 ` [Xen-devel] " Julien Grall
2019-06-06 16:02 ` Julien Grall
2019-06-07 9:36 ` Julien Grall
2019-06-11 18:18 ` Volodymyr Babchuk
2019-06-11 18:26 ` Julien Grall
2019-05-21 21:25 ` [PATCH v5 02/10] xen/arm: optee: add OP-TEE header files Volodymyr Babchuk
2019-05-21 21:25 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 11:49 ` Julien Grall
2019-06-03 11:49 ` [Xen-devel] " Julien Grall
2019-06-10 18:20 ` Volodymyr Babchuk
2019-06-10 18:53 ` Julien Grall
2019-05-21 21:25 ` [PATCH v5 03/10] xen/arm: optee: add OP-TEE mediator skeleton Volodymyr Babchuk
2019-05-21 21:25 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:34 ` Julien Grall
2019-06-03 12:34 ` [Xen-devel] " Julien Grall
2019-05-21 21:25 ` [PATCH v5 04/10] xen/arm: optee: add fast calls handling Volodymyr Babchuk
2019-05-21 21:25 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:34 ` Julien Grall
2019-06-03 12:34 ` [Xen-devel] " Julien Grall
2019-05-21 21:26 ` [PATCH v5 05/10] xen/arm: optee: add std call handling Volodymyr Babchuk
2019-05-21 21:26 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:34 ` Julien Grall
2019-06-03 12:34 ` [Xen-devel] " Julien Grall
2019-05-21 21:26 ` [PATCH v5 06/10] xen/arm: optee: add support for RPC SHM buffers Volodymyr Babchuk
2019-05-21 21:26 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:33 ` Julien Grall
2019-06-03 12:33 ` [Xen-devel] " Julien Grall
2019-05-21 21:26 ` [PATCH v5 07/10] xen/arm: optee: add support for arbitrary shared memory Volodymyr Babchuk
2019-05-21 21:26 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:29 ` Julien Grall
2019-06-03 12:29 ` [Xen-devel] " Julien Grall
2019-05-21 21:26 ` [PATCH v5 08/10] xen/arm: optee: add support for RPC commands Volodymyr Babchuk
2019-05-21 21:26 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:33 ` Julien Grall
2019-06-03 12:33 ` [Xen-devel] " Julien Grall
2019-05-21 21:26 ` [PATCH v5 09/10] tools/arm: tee: add "tee" option for xl.cfg Volodymyr Babchuk
2019-05-21 21:26 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 12:44 ` Julien Grall
2019-06-03 12:44 ` [Xen-devel] " Julien Grall
2019-06-03 14:47 ` Ian Jackson
2019-06-03 14:47 ` [Xen-devel] " Ian Jackson
2019-05-21 21:26 ` [PATCH v5 10/10] tools/arm: optee: create optee firmware node in DT if tee=optee Volodymyr Babchuk
2019-05-21 21:26 ` [Xen-devel] " Volodymyr Babchuk
2019-06-03 14:50 ` Ian Jackson
2019-06-03 14:50 ` [Xen-devel] " Ian Jackson
2019-06-01 14:50 ` Julien Grall [this message]
2019-06-01 14:50 ` [Xen-devel] [PATCH v5 00/10] TEE mediator (and OP-TEE) support in XEN Julien Grall
2019-06-01 16:07 ` Volodymyr Babchuk
2019-06-01 16:07 ` [Xen-devel] " Volodymyr Babchuk
2019-06-01 16:55 ` Julien Grall
2019-06-01 16:55 ` [Xen-devel] " Julien Grall
2019-06-04 13:31 ` Volodymyr Babchuk
2019-06-06 15:33 ` Julien Grall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=06a4f534-e671-004c-93bb-31b60ed77d28@arm.com \
--to=julien.grall@arm.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=konrad.wilk@oracle.com \
--cc=sstabellini@kernel.org \
--cc=tee-dev@lists.linaro.org \
--cc=tim@xen.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).