All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location
@ 2019-03-01 16:47 Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package Etienne Carriere
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Makefile script for boot package optee-os produces make variable
OPTEE_OS_STAGING_SDK to locate the Trusted Application SDK expected
by other packages when building OP-TEE trusted applications.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 boot/optee-os/optee-os.mk | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk
index aeac067..df481c9 100644
--- a/boot/optee-os/optee-os.mk
+++ b/boot/optee-os/optee-os.mk
@@ -55,9 +55,11 @@ OPTEE_OS_MAKE_OPTS += $(call qstrip,$(BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES))
 OPTEE_OS_BUILDDIR_OUT = out
 ifeq ($(BR2_aarch64),y)
 OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm64
+OPTEE_OS_STAGING_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm64
 endif
 ifeq ($(BR2_arm),y)
 OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm32
+OPTEE_OS_STAGING_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm32
 endif
 
 ifeq ($(BR2_TARGET_OPTEE_OS_CORE),y)
@@ -86,8 +88,8 @@ define OPTEE_OS_BUILD_SDK
 		 $(TARGET_CONFIGURE_OPTS) $(OPTEE_OS_MAKE_OPTS) ta_dev_kit
 endef
 define OPTEE_OS_INSTALL_STAGING_CMDS
-	mkdir -p $(STAGING_DIR)/lib/optee
-	cp -ardpf $(@D)/$(OPTEE_OS_LOCAL_SDK) $(STAGING_DIR)/lib/optee
+	mkdir -p $(OPTEE_OS_STAGING_SDK)
+	cp -ardpf $(@D)/$(OPTEE_OS_LOCAL_SDK)/* $(OPTEE_OS_STAGING_SDK)
 endef
 endif # BR2_TARGET_OPTEE_OS_SDK
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-05 22:25   ` Thomas Petazzoni
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 3/9] package/optee-examples: " Etienne Carriere
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Package optee-os was recently changed to produce variable
OPTEE_OS_STAGING_SDK to other packages to locate the OP-TEE Trusted
Application SDK generated from optee-os package and installed in
the Buildroot output staging directory.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 package/optee-test/optee-test.mk | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/package/optee-test/optee-test.mk b/package/optee-test/optee-test.mk
index 1ab6bf4..687347d 100644
--- a/package/optee-test/optee-test.mk
+++ b/package/optee-test/optee-test.mk
@@ -11,12 +11,7 @@ OPTEE_TEST_LICENSE_FILES = LICENSE.md
 
 OPTEE_TEST_DEPENDENCIES = optee-client optee-os
 
-ifeq ($(BR2_aarch64),y)
-OPTEE_TEST_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm64
-else ifeq ($(BR2_arm),y)
-OPTEE_TEST_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm32
-endif
-OPTEE_TEST_CONF_OPTS = -DOPTEE_TEST_SDK=$(OPTEE_TEST_SDK)
+OPTEE_TEST_CONF_OPTS = -DOPTEE_TEST_SDK=$(OPTEE_OS_STAGING_SDK)
 
 # Trusted Application are not built from CMake due to ta_dev_kit
 # dependencies. We must build and install them on target.
@@ -24,7 +19,7 @@ define OPTEE_TEST_BUILD_TAS
 	$(foreach f,$(wildcard $(@D)/ta/*/Makefile), \
 		$(TARGET_CONFIGURE_OPTS) \
 		$(MAKE) CROSS_COMPILE=$(TARGET_CROSS) \
-			TA_DEV_KIT_DIR=$(OPTEE_TEST_SDK) \
+			TA_DEV_KIT_DIR=$(OPTEE_OS_STAGING_SDK) \
 			-C $(dir $f) all
 	)
 endef
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 3/9] package/optee-examples: locate TA SDK though optee-os package
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-05 22:25   ` Thomas Petazzoni
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 4/9] package/optee-client: fix build warnings 3.4.0 Etienne Carriere
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Package optee-os was recently changed to produce variable
OPTEE_OS_STAGING_SDK to other packages to locate the OP-TEE Trusted
Application SDK generated from optee-os package and installed in
the Buildroot output staging directory.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 package/optee-examples/optee-examples.mk | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/package/optee-examples/optee-examples.mk b/package/optee-examples/optee-examples.mk
index 10fe62b..1f5548d 100644
--- a/package/optee-examples/optee-examples.mk
+++ b/package/optee-examples/optee-examples.mk
@@ -11,19 +11,13 @@ OPTEE_EXAMPLES_LICENSE_FILES = LICENSE
 
 OPTEE_EXAMPLES_DEPENDENCIES = optee-client optee-os
 
-ifeq ($(BR2_aarch64),y)
-OPTEE_EXAMPLES_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm64
-else ifeq ($(BR2_arm),y)
-OPTEE_EXAMPLES_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm32
-endif
-
 # Trusted Application are not built from CMake due to ta_dev_kit dependencies.
 # We must build and install them on target.
 define OPTEE_EXAMPLES_BUILD_TAS
 	$(foreach f,$(wildcard $(@D)/*/ta/Makefile), \
 		$(TARGET_CONFIGURE_OPTS) \
 		$(MAKE) CROSS_COMPILE=$(TARGET_CROSS) \
-			TA_DEV_KIT_DIR=$(OPTEE_EXAMPLES_SDK) \
+			TA_DEV_KIT_DIR=$(OPTEE_OS_STAGING_SDK) \
 			O=out -C $(dir $f) all
 	)
 endef
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 4/9] package/optee-client: fix build warnings 3.4.0
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 3/9] package/optee-examples: " Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 5/9] package/optee-client: support BUILD_STATIC_LIBS Etienne Carriere
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

And a patch for optee-client package currently synced with tag 3.4.0
which contains source issues to be fixed.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 .../0001-libteec-fix-build-warnings.patch          | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 package/optee-client/0001-libteec-fix-build-warnings.patch

diff --git a/package/optee-client/0001-libteec-fix-build-warnings.patch b/package/optee-client/0001-libteec-fix-build-warnings.patch
new file mode 100644
index 0000000..21f47ec
--- /dev/null
+++ b/package/optee-client/0001-libteec-fix-build-warnings.patch
@@ -0,0 +1,65 @@
+From 657414ccd20b4fb2985efd83b0679964fec923c2 Mon Sep 17 00:00:00 2001
+From: Etienne Carriere <etienne.carriere@linaro.org>
+Date: Fri, 1 Mar 2019 09:36:46 +0100
+Subject: [PATCH] libteec: fix build warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix build warnings reported by the Buildroot team [1]:
+
+/home/thomas/projets/outputs/armv5-ctng-linux-gnueabi/build/optee-client-3.4.0/libteec/src/tee_client_api.c: In function 'TEEC_InitializeContext':
+/home/thomas/projets/outputs/armv5-ctng-linux-gnueabi/build/optee-client-3.4.0/libteec/src/tee_client_api.c:149:28: error: 'gen_caps' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+    ctx->reg_mem = gen_caps & TEE_GEN_CAP_REG_MEM;
+                            ^
+/home/thomas/projets/buildroot/output/build/optee-client-3.4.0/libteec/src/tee_client_api.c: In function ?TEEC_OpenSession?:
+/home/thomas/projets/buildroot/output/build/optee-client-3.4.0/libteec/src/tee_client_api.c:507:8: error: cast increases required alignment of target type [-Werror=cast-align]
+  arg = (struct tee_ioctl_open_session_arg *)buf;
+        ^
+/home/thomas/projets/buildroot/output/build/optee-client-3.4.0/libteec/src/tee_client_api.c: In function ?TEEC_InvokeCommand?:
+/home/thomas/projets/buildroot/output/build/optee-client-3.4.0/libteec/src/tee_client_api.c:581:8: error: cast increases required alignment of target type [-Werror=cast-align]
+  arg = (struct tee_ioctl_invoke_arg *)buf;
+        ^
+
+[1] http://lists.busybox.net/pipermail/buildroot/2019-February/243437.html
+
+Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
+---
+ libteec/src/tee_client_api.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libteec/src/tee_client_api.c b/libteec/src/tee_client_api.c
+index 698092b..a8683fd 100644
+--- a/libteec/src/tee_client_api.c
++++ b/libteec/src/tee_client_api.c
+@@ -140,7 +140,7 @@ TEEC_Result TEEC_InitializeContext(const char *name, TEEC_Context *ctx)
+ 		return TEEC_ERROR_BAD_PARAMETERS;
+ 
+ 	for (n = 0; n < TEEC_MAX_DEV_SEQ; n++) {
+-		uint32_t gen_caps;
++		uint32_t gen_caps = 0;
+ 
+ 		snprintf(devname, sizeof(devname), "/dev/tee%zu", n);
+ 		fd = teec_open_dev(devname, name, &gen_caps);
+@@ -504,7 +504,7 @@ TEEC_Result TEEC_OpenSession(TEEC_Context *ctx, TEEC_Session *session,
+ 	buf_data.buf_ptr = (uintptr_t)buf;
+ 	buf_data.buf_len = sizeof(buf);
+ 
+-	arg = (struct tee_ioctl_open_session_arg *)buf;
++	arg = (struct tee_ioctl_open_session_arg *)(void *)buf;
+ 	arg->num_params = TEEC_CONFIG_PAYLOAD_REF_COUNT;
+ 	params = (struct tee_ioctl_param *)(arg + 1);
+ 
+@@ -578,7 +578,7 @@ TEEC_Result TEEC_InvokeCommand(TEEC_Session *session, uint32_t cmd_id,
+ 	buf_data.buf_ptr = (uintptr_t)buf;
+ 	buf_data.buf_len = sizeof(buf);
+ 
+-	arg = (struct tee_ioctl_invoke_arg *)buf;
++	arg = (struct tee_ioctl_invoke_arg *)(void *)buf;
+ 	arg->num_params = TEEC_CONFIG_PAYLOAD_REF_COUNT;
+ 	params = (struct tee_ioctl_param *)(arg + 1);
+ 
+-- 
+1.9.1
+
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 5/9] package/optee-client: support BUILD_STATIC_LIBS
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
                   ` (2 preceding siblings ...)
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 4/9] package/optee-client: fix build warnings 3.4.0 Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 6/9] package/optee-test: drop constraint on !BR2_STATIC_LIBS Etienne Carriere
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Patch optee-client from release 3.4.0 to support building resources
with static linkage of executable binaries with the user libraries.

The optee-client patch is under review in the OP-TEE project [1] and
should be merged in the next OP-TEE release 3.5.0.

This change drops !BR2_STATIC_LIBS constraint on package optee-client.

[1] https://github.com/OP-TEE/optee_client/pull/147

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 .../0001-libteec-fix-build-warnings.patch          |  4 +-
 ...pport-BUILD_STATIC_LIBS-BUILD_SHARED_LIBS.patch | 51 ++++++++++++++++++++++
 package/optee-client/Config.in                     |  4 --
 3 files changed, 53 insertions(+), 6 deletions(-)
 create mode 100644 package/optee-client/0002-cmake-support-BUILD_STATIC_LIBS-BUILD_SHARED_LIBS.patch

diff --git a/package/optee-client/0001-libteec-fix-build-warnings.patch b/package/optee-client/0001-libteec-fix-build-warnings.patch
index 21f47ec..aec07b4 100644
--- a/package/optee-client/0001-libteec-fix-build-warnings.patch
+++ b/package/optee-client/0001-libteec-fix-build-warnings.patch
@@ -1,7 +1,7 @@
-From 657414ccd20b4fb2985efd83b0679964fec923c2 Mon Sep 17 00:00:00 2001
+From 2f5ab18b4886b31a33850ee51f33fb753e9c7b7f Mon Sep 17 00:00:00 2001
 From: Etienne Carriere <etienne.carriere@linaro.org>
 Date: Fri, 1 Mar 2019 09:36:46 +0100
-Subject: [PATCH] libteec: fix build warnings
+Subject: [PATCH 1/2] libteec: fix build warnings
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
diff --git a/package/optee-client/0002-cmake-support-BUILD_STATIC_LIBS-BUILD_SHARED_LIBS.patch b/package/optee-client/0002-cmake-support-BUILD_STATIC_LIBS-BUILD_SHARED_LIBS.patch
new file mode 100644
index 0000000..f63f1a3
--- /dev/null
+++ b/package/optee-client/0002-cmake-support-BUILD_STATIC_LIBS-BUILD_SHARED_LIBS.patch
@@ -0,0 +1,51 @@
+From 857ed6a900e2f16035a88e73e47d79e9251f6544 Mon Sep 17 00:00:00 2001
+From: Etienne Carriere <etienne.carriere@linaro.org>
+Date: Fri, 1 Mar 2019 12:31:48 +0100
+Subject: [PATCH 2/2] cmake: support BUILD_STATIC_LIBS/BUILD_SHARED_LIBS
+
+CMake variables BUILD_STATIC_LIBS and BUILD_SHARED_LIBS
+set constraints on libraries and executable linkage.
+
+With this change OP-TEE client CMake script builds and installs the
+embedded files with the expected linkage configuration.
+
+Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
+---
+ libteec/CMakeLists.txt        | 5 +++--
+ tee-supplicant/CMakeLists.txt | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/libteec/CMakeLists.txt b/libteec/CMakeLists.txt
+index 3ec8f66..e3495fb 100644
+--- a/libteec/CMakeLists.txt
++++ b/libteec/CMakeLists.txt
+@@ -33,7 +33,7 @@ endif()
+ ################################################################################
+ # Built library
+ ################################################################################
+-add_library (teec SHARED ${SRC})
++add_library (teec ${SRC})
+ 
+ set_target_properties (teec PROPERTIES
+ 	VERSION ${PROJECT_VERSION}
+@@ -71,4 +71,5 @@ target_link_libraries (teec
+ ################################################################################
+ # FIXME: This should in someway harmonize with CFG_TEE_CLIENT_LOAD_PATH
+ # FIXME: Should we change this to /usr/local/lib?
+-install (TARGETS teec DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install (TARGETS teec LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++                      ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+diff --git a/tee-supplicant/CMakeLists.txt b/tee-supplicant/CMakeLists.txt
+index d2d3afd..e663be9 100644
+--- a/tee-supplicant/CMakeLists.txt
++++ b/tee-supplicant/CMakeLists.txt
+@@ -85,4 +85,4 @@ target_link_libraries (${PROJECT_NAME}
+ ################################################################################
+ # Install targets
+ ################################################################################
+-install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_SBINDIR})
++install (TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
+-- 
+1.9.1
+
diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
index db0b7b7..0de136c 100644
--- a/package/optee-client/Config.in
+++ b/package/optee-client/Config.in
@@ -1,6 +1,5 @@
 config BR2_PACKAGE_OPTEE_CLIENT
 	bool "optee-client"
-	depends on !BR2_STATIC_LIBS
 	help
 	  Enable the OP-TEE client package that brings non-secure
 	  client application resources for OP-TEE support. OP-TEE
@@ -12,6 +11,3 @@ config BR2_PACKAGE_OPTEE_CLIENT
 	  and invoked by the secure world.
 
 	  https://github.com/OP-TEE/optee_client
-
-comment "optee-client needs a toolchain w/ dynamic library"
-	depends on BR2_STATIC_LIBS
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 6/9] package/optee-test: drop constraint on !BR2_STATIC_LIBS
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
                   ` (3 preceding siblings ...)
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 5/9] package/optee-client: support BUILD_STATIC_LIBS Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 7/9] package/optee-examples: " Etienne Carriere
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Optee-client recently supports BR2_STATIC_LIBS and
BR2_SHARED_LIBS directives. This change removes the constraint
on package optee-test that now supports static linking of
embedded binaries.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 package/optee-test/Config.in | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/package/optee-test/Config.in b/package/optee-test/Config.in
index 575790b..2bccc76 100644
--- a/package/optee-test/Config.in
+++ b/package/optee-test/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_OPTEE_TEST
 	bool "optee-test"
 	depends on BR2_TARGET_OPTEE_OS
-	depends on !BR2_STATIC_LIBS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_TARGET_OPTEE_OS_SDK
 	help
@@ -21,7 +20,3 @@ config BR2_PACKAGE_OPTEE_TEST
 	  execution.
 
 	  http://github.com/OP-TEE/optee_test
-
-comment "optee-test needs a toolchain w/ dynamic library"
-	depends on BR2_TARGET_OPTEE_OS
-	depends on BR2_STATIC_LIBS
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 7/9] package/optee-examples: drop constraint on !BR2_STATIC_LIBS
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
                   ` (4 preceding siblings ...)
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 6/9] package/optee-test: drop constraint on !BR2_STATIC_LIBS Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 8/9] package/optee-benchmark: " Etienne Carriere
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Optee-client recently supports BR2_STATIC_LIBS and
BR2_SHARED_LIBS directives. This change removes the constraint
on package optee-examples that now supports static linking of
embedded binaries.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 package/optee-examples/Config.in | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/package/optee-examples/Config.in b/package/optee-examples/Config.in
index 479f920..3f730ca 100644
--- a/package/optee-examples/Config.in
+++ b/package/optee-examples/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_OPTEE_EXAMPLES
 	bool "optee-examples"
 	depends on BR2_TARGET_OPTEE_OS
-	depends on !BR2_STATIC_LIBS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_TARGET_OPTEE_OS_SDK
 	help
@@ -17,7 +16,3 @@ config BR2_PACKAGE_OPTEE_EXAMPLES
 	  execution.
 
 	  https://github.com/linaro-swg/optee_examples
-
-comment "optee-examples needs a toolchain w/ dynamic library"
-	depends on BR2_TARGET_OPTEE_OS
-	depends on BR2_STATIC_LIBS
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 8/9] package/optee-benchmark: drop constraint on !BR2_STATIC_LIBS
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
                   ` (5 preceding siblings ...)
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 7/9] package/optee-examples: " Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files Etienne Carriere
  2019-03-05 22:25 ` [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Thomas Petazzoni
  8 siblings, 0 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Optee-client recently supports BR2_STATIC_LIBS and
BR2_SHARED_LIBS directives. This change removes the constraint
on package optee-benchmarktest that now supports static linking of
embedded binaries.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 package/optee-benchmark/Config.in | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in
index 0e36549..a4af645 100644
--- a/package/optee-benchmark/Config.in
+++ b/package/optee-benchmark/Config.in
@@ -1,6 +1,5 @@
 config BR2_PACKAGE_OPTEE_BENCHMARK
 	bool "optee-benchmark"
-	depends on !BR2_STATIC_LIBS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_PACKAGE_LIBYAML
 	help
@@ -10,6 +9,3 @@ config BR2_PACKAGE_OPTEE_BENCHMARK
 	  by the OP-TEE project.
 
 	  http://github.com/linaro-swg/optee_benchmark
-
-comment "optee-benchmark needs a toolchain w/ dynamic library"
-	depends on BR2_STATIC_LIBS
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
                   ` (6 preceding siblings ...)
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 8/9] package/optee-benchmark: " Etienne Carriere
@ 2019-03-01 16:47 ` Etienne Carriere
  2019-08-03 16:14   ` Thomas Petazzoni
  2019-03-05 22:25 ` [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Thomas Petazzoni
  8 siblings, 1 reply; 14+ messages in thread
From: Etienne Carriere @ 2019-03-01 16:47 UTC (permalink / raw)
  To: buildroot

Some platform may generate specific boot image files instead of
the generic files tee.bin and tee-*_v2.bin when building OP-TEE OS
package.

This change introduces optee-os configuration directive
BR2_TARGET_OPTEE_OS_CORE_IMAGES that allows board configuration
to specify its expected boot image file names.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 boot/optee-os/Config.in   | 13 +++++++++++++
 boot/optee-os/optee-os.mk |  7 +++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in
index a1f1b91..0f2df27 100644
--- a/boot/optee-os/Config.in
+++ b/boot/optee-os/Config.in
@@ -99,4 +99,17 @@ config BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES
 	  Additional parameters for the OP-TEE OS build
 	  E.g. 'CFG_TEE_CORE_LOG_LEVEL=3 CFG_UNWIND=y'
 
+config BR2_TARGET_OPTEE_OS_CORE_IMAGES
+	string "Binary boot image filenames"
+	default "tee-header_v2.bin tee-pager_v2.bin"
+	help
+	  Names of generated image files that are installed in the
+	  output images/ directory.
+
+	  With OP-TEE pager disabled, defaults are tee-header_v2.bin
+	  and tee-pager_v2.bin.
+
+	  With OP-TEE pager enabled, one would select the 3 files
+	  tee-header_v2.bin, tee-pager_v2.bin and tee-pageable_v2.bin.
+
 endif # BR2_TARGET_OPTEE_OS
diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk
index df481c9..e445e72 100644
--- a/boot/optee-os/optee-os.mk
+++ b/boot/optee-os/optee-os.mk
@@ -62,6 +62,8 @@ OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm32
 OPTEE_OS_STAGING_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm32
 endif
 
+OPTEE_OS_IMAGE_FILES = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CORE_IMAGES))
+
 ifeq ($(BR2_TARGET_OPTEE_OS_CORE),y)
 define OPTEE_OS_BUILD_CORE
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \
@@ -69,8 +71,9 @@ define OPTEE_OS_BUILD_CORE
 endef
 define OPTEE_OS_INSTALL_IMAGES_CORE
 	mkdir -p $(BINARIES_DIR)
-	cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/tee.bin $(BINARIES_DIR)
-	cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/tee-*_v2.bin $(BINARIES_DIR)
+	$(foreach f,$(OPTEE_OS_IMAGE_FILES), \
+		cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f) $(BINARIES_DIR)/
+	)
 endef
 endif # BR2_TARGET_OPTEE_OS_CORE
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location
  2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
                   ` (7 preceding siblings ...)
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files Etienne Carriere
@ 2019-03-05 22:25 ` Thomas Petazzoni
  8 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni @ 2019-03-05 22:25 UTC (permalink / raw)
  To: buildroot

On Fri,  1 Mar 2019 17:47:05 +0100
Etienne Carriere <etienne.carriere@linaro.org> wrote:

> Makefile script for boot package optee-os produces make variable
> OPTEE_OS_STAGING_SDK to locate the Trusted Application SDK expected
> by other packages when building OP-TEE trusted applications.
> 
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
>  boot/optee-os/optee-os.mk | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

I changed the variable name to be just OPTEE_OS_SDK, and applied after
adjusting the commit log. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package Etienne Carriere
@ 2019-03-05 22:25   ` Thomas Petazzoni
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni @ 2019-03-05 22:25 UTC (permalink / raw)
  To: buildroot

On Fri,  1 Mar 2019 17:47:06 +0100
Etienne Carriere <etienne.carriere@linaro.org> wrote:

> Package optee-os was recently changed to produce variable
> OPTEE_OS_STAGING_SDK to other packages to locate the OP-TEE Trusted
> Application SDK generated from optee-os package and installed in
> the Buildroot output staging directory.
> 
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
>  package/optee-test/optee-test.mk | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)

Applied to master, after adjusting the commit log and the variable
name. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 3/9] package/optee-examples: locate TA SDK though optee-os package
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 3/9] package/optee-examples: " Etienne Carriere
@ 2019-03-05 22:25   ` Thomas Petazzoni
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni @ 2019-03-05 22:25 UTC (permalink / raw)
  To: buildroot

On Fri,  1 Mar 2019 17:47:07 +0100
Etienne Carriere <etienne.carriere@linaro.org> wrote:

> Package optee-os was recently changed to produce variable
> OPTEE_OS_STAGING_SDK to other packages to locate the OP-TEE Trusted
> Application SDK generated from optee-os package and installed in
> the Buildroot output staging directory.
> 
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
>  package/optee-examples/optee-examples.mk | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)

Applied to master after adjusting the variable name and commit log.
Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files
  2019-03-01 16:47 ` [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files Etienne Carriere
@ 2019-08-03 16:14   ` Thomas Petazzoni
  2019-08-09  8:50     ` Etienne Carriere
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2019-08-03 16:14 UTC (permalink / raw)
  To: buildroot

Etienne,

On Fri,  1 Mar 2019 17:47:13 +0100
Etienne Carriere <etienne.carriere@linaro.org> wrote:

> Some platform may generate specific boot image files instead of
> the generic files tee.bin and tee-*_v2.bin when building OP-TEE OS
> package.
> 
> This change introduces optee-os configuration directive
> BR2_TARGET_OPTEE_OS_CORE_IMAGES that allows board configuration
> to specify its expected boot image file names.
> 
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

Thanks, I've applied this patch, with some changes. See below.

> +config BR2_TARGET_OPTEE_OS_CORE_IMAGES
> +	string "Binary boot image filenames"
> +	default "tee-header_v2.bin tee-pager_v2.bin"

The problem with this default value is that it breaks existing
configurations. Indeed, today (without your patch), was get copied is
tee.bin tee-*_v2.bin. So we want to preserve this behavior, and to
achieve that, I've changed this line to:

	default "tee.bin tee-*_v2.bin"


> +	  With OP-TEE pager disabled, defaults are tee-header_v2.bin
> +	  and tee-pager_v2.bin.
> +
> +	  With OP-TEE pager enabled, one would select the 3 files
> +	  tee-header_v2.bin, tee-pager_v2.bin and tee-pageable_v2.bin.

I dropped these details, which I think are no longer that relevant with
the changed default value.

>  define OPTEE_OS_INSTALL_IMAGES_CORE
>  	mkdir -p $(BINARIES_DIR)
> -	cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/tee.bin $(BINARIES_DIR)
> -	cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/tee-*_v2.bin $(BINARIES_DIR)
> +	$(foreach f,$(OPTEE_OS_IMAGE_FILES), \
> +		cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f) $(BINARIES_DIR)/

I have changed this to:

	cp -dpf $(wildcard $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f)) $(BINARIES_DIR)/

so that the tee-*_v2.bin gets properly expanded. I tested with a
Marvell Armada 7K/8K OP-TEE configuration, and it continued to properly
install the .bin files that were installed before this patch.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files
  2019-08-03 16:14   ` Thomas Petazzoni
@ 2019-08-09  8:50     ` Etienne Carriere
  0 siblings, 0 replies; 14+ messages in thread
From: Etienne Carriere @ 2019-08-09  8:50 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Thanks for the review, fixes and merge.

Regards,
etienne


On Sat, 3 Aug 2019 at 18:14, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Etienne,
>
> On Fri,  1 Mar 2019 17:47:13 +0100
> Etienne Carriere <etienne.carriere@linaro.org> wrote:
>
> > Some platform may generate specific boot image files instead of
> > the generic files tee.bin and tee-*_v2.bin when building OP-TEE OS
> > package.
> >
> > This change introduces optee-os configuration directive
> > BR2_TARGET_OPTEE_OS_CORE_IMAGES that allows board configuration
> > to specify its expected boot image file names.
> >
> > Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
>
> Thanks, I've applied this patch, with some changes. See below.
>
> > +config BR2_TARGET_OPTEE_OS_CORE_IMAGES
> > +     string "Binary boot image filenames"
> > +     default "tee-header_v2.bin tee-pager_v2.bin"
>
> The problem with this default value is that it breaks existing
> configurations. Indeed, today (without your patch), was get copied is
> tee.bin tee-*_v2.bin. So we want to preserve this behavior, and to
> achieve that, I've changed this line to:
>
>         default "tee.bin tee-*_v2.bin"
>
>
> > +       With OP-TEE pager disabled, defaults are tee-header_v2.bin
> > +       and tee-pager_v2.bin.
> > +
> > +       With OP-TEE pager enabled, one would select the 3 files
> > +       tee-header_v2.bin, tee-pager_v2.bin and tee-pageable_v2.bin.
>
> I dropped these details, which I think are no longer that relevant with
> the changed default value.
>
> >  define OPTEE_OS_INSTALL_IMAGES_CORE
> >       mkdir -p $(BINARIES_DIR)
> > -     cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/tee.bin $(BINARIES_DIR)
> > -     cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/tee-*_v2.bin $(BINARIES_DIR)
> > +     $(foreach f,$(OPTEE_OS_IMAGE_FILES), \
> > +             cp -dpf $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f) $(BINARIES_DIR)/
>
> I have changed this to:
>
>         cp -dpf $(wildcard $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f)) $(BINARIES_DIR)/
>
> so that the tee-*_v2.bin gets properly expanded. I tested with a
> Marvell Armada 7K/8K OP-TEE configuration, and it continued to properly
> install the .bin files that were installed before this patch.
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-08-09  8:50 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-01 16:47 [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Etienne Carriere
2019-03-01 16:47 ` [Buildroot] [PATCH/next 2/9] package/optee-test: locate TA SDK though optee-os package Etienne Carriere
2019-03-05 22:25   ` Thomas Petazzoni
2019-03-01 16:47 ` [Buildroot] [PATCH/next 3/9] package/optee-examples: " Etienne Carriere
2019-03-05 22:25   ` Thomas Petazzoni
2019-03-01 16:47 ` [Buildroot] [PATCH/next 4/9] package/optee-client: fix build warnings 3.4.0 Etienne Carriere
2019-03-01 16:47 ` [Buildroot] [PATCH/next 5/9] package/optee-client: support BUILD_STATIC_LIBS Etienne Carriere
2019-03-01 16:47 ` [Buildroot] [PATCH/next 6/9] package/optee-test: drop constraint on !BR2_STATIC_LIBS Etienne Carriere
2019-03-01 16:47 ` [Buildroot] [PATCH/next 7/9] package/optee-examples: " Etienne Carriere
2019-03-01 16:47 ` [Buildroot] [PATCH/next 8/9] package/optee-benchmark: " Etienne Carriere
2019-03-01 16:47 ` [Buildroot] [PATCH/next 9/9] boot/optee-os: support alternate image files Etienne Carriere
2019-08-03 16:14   ` Thomas Petazzoni
2019-08-09  8:50     ` Etienne Carriere
2019-03-05 22:25 ` [Buildroot] [PATCH/next 1/9] boot/optee-os: package sets TA SDK location Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.