xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

  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).