Skip to content
Snippets Groups Projects
Commit 27edfc78 authored by Igor Opaniuk's avatar Igor Opaniuk Committed by Jérôme Forissier
Browse files

OP-TEE Benchmark


Enable Benchmark feature

Reviewed-by: default avatarJoakim Bech <joakim.bech@linaro.org>
Reviewed-by: default avatarEtienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: default avatarIgor Opaniuk <igor.opaniuk@linaro.org>
parent 5fc1f85d
No related branches found
No related tags found
No related merge requests found
......@@ -15,12 +15,16 @@ OPTEE_OS_PATH ?= $(ROOT)/optee_os
OPTEE_CLIENT_PATH ?= $(ROOT)/optee_client
OPTEE_CLIENT_EXPORT ?= $(OPTEE_CLIENT_PATH)/out/export
OPTEE_TEST_PATH ?= $(ROOT)/optee_test
OPTEE_TEST_OUT_PATH ?= $(ROOT)/optee_test/out
OPTEE_TEST_OUT_PATH ?= $(ROOT)/optee_test/out
HELLOWORLD_PATH ?= $(ROOT)/hello_world
BENCHMARK_APP_PATH ?= $(ROOT)/optee_benchmark
# default high verbosity. slow uarts shall specify lower if prefered
CFG_TEE_CORE_LOG_LEVEL ?= 3
# default disable latency benchmarks (over all OP-TEE layers)
CFG_TEE_BENCHMARK ?= n
CCACHE ?= $(shell which ccache) # Don't remove this comment (space is needed)
# Accessing a shared folder on the host from QEMU:
......@@ -145,6 +149,10 @@ busybox-cleaner-common:
################################################################################
# Linux
################################################################################
ifeq ($(CFG_TEE_BENCHMARK),y)
LINUX_DEFCONFIG_BENCH ?= $(CURDIR)/kconfigs/tee_bench.conf
endif
LINUX_COMMON_FLAGS ?= LOCALVERSION= CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL)
linux-common: linux-defconfig
......@@ -153,7 +161,8 @@ linux-common: linux-defconfig
$(LINUX_PATH)/.config: $(LINUX_DEFCONFIG_COMMON_FILES)
cd $(LINUX_PATH) && \
ARCH=$(LINUX_DEFCONFIG_COMMON_ARCH) \
scripts/kconfig/merge_config.sh $(LINUX_DEFCONFIG_COMMON_FILES)
scripts/kconfig/merge_config.sh $(LINUX_DEFCONFIG_COMMON_FILES) \
$(LINUX_DEFCONFIG_BENCH)
linux-defconfig-clean-common:
rm -f $(LINUX_PATH)/.config
......@@ -250,17 +259,19 @@ OPTEE_OS_COMMON_FLAGS ?= \
CROSS_COMPILE_ta_arm64=$(AARCH64_CROSS_COMPILE) \
CROSS_COMPILE_ta_arm32=$(AARCH32_CROSS_COMPILE) \
CFG_TEE_CORE_LOG_LEVEL=$(CFG_TEE_CORE_LOG_LEVEL) \
DEBUG=$(DEBUG)
DEBUG=$(DEBUG) \
CFG_TEE_BENCHMARK=$(CFG_TEE_BENCHMARK)
optee-os-common:
$(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_COMMON_FLAGS)
OPTEE_OS_CLEAN_COMMON_FLAGS ?= $(OPTEE_OS_COMMON_EXTRA_FLAGS)
optee-os-clean-common: xtest-clean helloworld-clean
optee-os-clean-common: xtest-clean helloworld-clean benchmark-app-clean-common
$(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_CLEAN_COMMON_FLAGS) clean
OPTEE_CLIENT_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_NS_USER)
OPTEE_CLIENT_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_NS_USER) \
CFG_TEE_BENCHMARK=$(CFG_TEE_BENCHMARK) \
optee-client-common:
$(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_COMMON_FLAGS)
......@@ -280,7 +291,8 @@ XTEST_COMMON_FLAGS ?= CROSS_COMPILE_HOST=$(CROSS_COMPILE_NS_USER)\
TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR) \
OPTEE_CLIENT_EXPORT=$(OPTEE_CLIENT_EXPORT) \
COMPILE_NS_USER=$(COMPILE_NS_USER) \
O=$(OPTEE_TEST_OUT_PATH)
O=$(OPTEE_TEST_OUT_PATH) \
CFG_TEE_BENCHMARK=$(CFG_TEE_BENCHMARK)
xtest-common: optee-os optee-client
$(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_COMMON_FLAGS)
......@@ -312,6 +324,19 @@ HELLOWORLD_CLEAN_COMMON_FLAGS ?= TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR)
helloworld-clean-common:
$(MAKE) -C $(HELLOWORLD_PATH) $(HELLOWORLD_CLEAN_COMMON_FLAGS) clean
################################################################################
# benchmark_app
################################################################################
BENCHMARK_APP_COMMON_FLAGS ?= HOST_CROSS_COMPILE=$(CROSS_COMPILE_NS_USER) \
TEEC_EXPORT=$(OPTEE_CLIENT_EXPORT) \
TEEC_INTERNAL_INCLUDES=$(OPTEE_CLIENT_PATH)/libteec
benchmark-app-common: optee-os optee-client
$(MAKE) -C $(BENCHMARK_APP_PATH) $(BENCHMARK_APP_COMMON_FLAGS)
benchmark-app-clean-common:
$(MAKE) -C $(BENCHMARK_APP_PATH) clean
################################################################################
# rootfs
################################################################################
......@@ -329,7 +354,7 @@ update_rootfs-clean-common:
rm -f $(GEN_ROOTFS_FILELIST)
filelist-tee-common: fl:=$(GEN_ROOTFS_FILELIST)
filelist-tee-common: optee-client xtest helloworld
filelist-tee-common: optee-client xtest helloworld benchmark-app
@echo "# filelist-tee-common /start" > $(fl)
@echo "dir /lib/optee_armtz 755 0 0" >> $(fl)
@echo "# xtest / optee_test" >> $(fl)
......@@ -345,6 +370,10 @@ filelist-tee-common: optee-client xtest helloworld
"$(HELLOWORLD_PATH)/ta/8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta" \
"444 0 0" >> $(fl); \
fi
@if [ -e $(BENCHMARK_APP_PATH)/benchmark ]; then \
echo "file /bin/benchmark" \
"$(BENCHMARK_APP_PATH)/benchmark 755 0 0" >> $(fl); \
fi
@if [ "$(QEMU_USERNET_ENABLE)" = "y" ]; then \
echo "slink /etc/rc.d/S02_udhcp_networking /etc/init.d/udhcpc 755 0 0" \
>> $(fl); \
......
CONFIG_OPTEE_BENCHMARK=y
......@@ -23,9 +23,9 @@ DEBUG = 1
################################################################################
# Targets
################################################################################
all: bios-qemu qemu soc-term
all: bios-qemu qemu soc-term benchmark-app
clean: bios-qemu-clean busybox-clean linux-clean optee-os-clean \
optee-client-clean qemu-clean soc-term-clean check-clean
optee-client-clean qemu-clean soc-term-clean check-clean benchmark-app-clean
-include toolchain.mk
......@@ -130,6 +130,13 @@ helloworld: helloworld-common
helloworld-clean: helloworld-clean-common
################################################################################
# benchmark
################################################################################
benchmark-app: benchmark-app-common
benchmark-app-clean: benchmark-app-clean-common
################################################################################
# Root FS
################################################################################
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment