From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org> Cc: "tee-dev@lists.linaro.org" <tee-dev@lists.linaro.org>, Ian Jackson <ian.jackson@eu.citrix.com>, Julien Grall <julien.grall@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wei.liu2@citrix.com> Subject: [PATCH v5 10/10] tools/arm: optee: create optee firmware node in DT if tee=optee Date: Tue, 21 May 2019 21:26:22 +0000 [thread overview] Message-ID: <20190521212530.12706-11-volodymyr_babchuk@epam.com> (raw) In-Reply-To: <20190521212530.12706-1-volodymyr_babchuk@epam.com> If TEE support is enabled with "tee=optee" option in xl.cfg, then we need to inform guest about available TEE, by creating corresponding node in the guest's device tree. Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Julien Grall <julien.grall@arm.com> --- This patch depends on patches to optee.c. Changes from v4: - "native" option replaced with "optee" Changes from v3: - "smc" method replaced with "hvc" - Coding style fixes --- tools/libxl/libxl_arm.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c index 6b72c00960..bf31b9b3ca 100644 --- a/tools/libxl/libxl_arm.c +++ b/tools/libxl/libxl_arm.c @@ -420,6 +420,32 @@ static int make_psci_node(libxl__gc *gc, void *fdt) return 0; } +static int make_optee_node(libxl__gc *gc, void *fdt) +{ + int res; + LOG(DEBUG, "Creating OP-TEE node in dtb"); + + res = fdt_begin_node(fdt, "firmware"); + if (res) return res; + + res = fdt_begin_node(fdt, "optee"); + if (res) return res; + + res = fdt_property_compat(gc, fdt, 1, "linaro,optee-tz"); + if (res) return res; + + res = fdt_property_string(fdt, "method", "hvc"); + if (res) return res; + + res = fdt_end_node(fdt); + if (res) return res; + + res = fdt_end_node(fdt); + if (res) return res; + + return 0; +} + static int make_memory_nodes(libxl__gc *gc, void *fdt, const struct xc_dom_image *dom) { @@ -933,6 +959,9 @@ next_resize: if (info->arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) FDT( make_vpl011_uart_node(gc, fdt, ainfo, dom) ); + if (info->tee == LIBXL_TEE_TYPE_OPTEE) + FDT( make_optee_node(gc, fdt) ); + if (pfdt) FDT( copy_partial_fdt(gc, fdt, pfdt) ); -- 2.21.0 _______________________________________________ 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: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org> Cc: "tee-dev@lists.linaro.org" <tee-dev@lists.linaro.org>, Ian Jackson <ian.jackson@eu.citrix.com>, Julien Grall <julien.grall@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wei.liu2@citrix.com> Subject: [Xen-devel] [PATCH v5 10/10] tools/arm: optee: create optee firmware node in DT if tee=optee Date: Tue, 21 May 2019 21:26:22 +0000 [thread overview] Message-ID: <20190521212530.12706-11-volodymyr_babchuk@epam.com> (raw) Message-ID: <20190521212622.QF7dNbuIiMZJDi8ejRr2GxOdJlLhEQSOOydSOQ88_6E@z> (raw) In-Reply-To: <20190521212530.12706-1-volodymyr_babchuk@epam.com> If TEE support is enabled with "tee=optee" option in xl.cfg, then we need to inform guest about available TEE, by creating corresponding node in the guest's device tree. Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Julien Grall <julien.grall@arm.com> --- This patch depends on patches to optee.c. Changes from v4: - "native" option replaced with "optee" Changes from v3: - "smc" method replaced with "hvc" - Coding style fixes --- tools/libxl/libxl_arm.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c index 6b72c00960..bf31b9b3ca 100644 --- a/tools/libxl/libxl_arm.c +++ b/tools/libxl/libxl_arm.c @@ -420,6 +420,32 @@ static int make_psci_node(libxl__gc *gc, void *fdt) return 0; } +static int make_optee_node(libxl__gc *gc, void *fdt) +{ + int res; + LOG(DEBUG, "Creating OP-TEE node in dtb"); + + res = fdt_begin_node(fdt, "firmware"); + if (res) return res; + + res = fdt_begin_node(fdt, "optee"); + if (res) return res; + + res = fdt_property_compat(gc, fdt, 1, "linaro,optee-tz"); + if (res) return res; + + res = fdt_property_string(fdt, "method", "hvc"); + if (res) return res; + + res = fdt_end_node(fdt); + if (res) return res; + + res = fdt_end_node(fdt); + if (res) return res; + + return 0; +} + static int make_memory_nodes(libxl__gc *gc, void *fdt, const struct xc_dom_image *dom) { @@ -933,6 +959,9 @@ next_resize: if (info->arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) FDT( make_vpl011_uart_node(gc, fdt, ainfo, dom) ); + if (info->tee == LIBXL_TEE_TYPE_OPTEE) + FDT( make_optee_node(gc, fdt) ); + if (pfdt) FDT( copy_partial_fdt(gc, fdt, pfdt) ); -- 2.21.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-05-21 21:26 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 ` Volodymyr Babchuk [this message] 2019-05-21 21:26 ` [Xen-devel] [PATCH v5 10/10] tools/arm: optee: create optee firmware node in DT if tee=optee Volodymyr Babchuk 2019-06-03 14:50 ` Ian Jackson 2019-06-03 14:50 ` [Xen-devel] " Ian Jackson 2019-06-01 14:50 ` [PATCH v5 00/10] TEE mediator (and OP-TEE) support in XEN Julien Grall 2019-06-01 14:50 ` [Xen-devel] " 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=20190521212530.12706-11-volodymyr_babchuk@epam.com \ --to=volodymyr_babchuk@epam.com \ --cc=ian.jackson@eu.citrix.com \ --cc=julien.grall@arm.com \ --cc=tee-dev@lists.linaro.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: linkBe 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).