mirror of
https://github.com/openharmony/tee_tee_os_framework.git
synced 2026-07-19 19:53:44 -04:00
some bug fixes for tee_tee_os_framework
Signed-off-by: suwanghw <wangsu14@huawei.com>
This commit is contained in:
+48
-10
@@ -19,7 +19,49 @@ else
|
||||
export TOPDIR := $(CURDIR)/../
|
||||
endif
|
||||
|
||||
export OPENSSL_DIR := $(TOPDIR)/../../../third_party/openssl
|
||||
ifneq (${TARGET_BOARD_PLATFORM},)
|
||||
export TARGET_BOARD_PLATFORM := ${TARGET_BOARD_PLATFORM}
|
||||
else
|
||||
export TARGET_BOARD_PLATFORM := oh_64
|
||||
endif
|
||||
|
||||
ifneq (${FRAMEWORK_ELF_PATH},)
|
||||
export FRAMEWORK_ELF_PATH := ${FRAMEWORK_ELF_PATH}
|
||||
else
|
||||
export FRAMEWORK_ELF_PATH := $(TOPDIR)/elf_out
|
||||
endif
|
||||
|
||||
ifneq (${TEE_COMPILER_DIR},)
|
||||
export TEE_COMPILER_DIR := ${TEE_COMPILER_DIR}
|
||||
else
|
||||
export TEE_COMPILER_DIR := $(TOPDIR)/../../../../tools/llvm
|
||||
endif
|
||||
|
||||
ifneq (${LLVM_BASEVER},)
|
||||
export LLVM_BASEVER := ${LLVM_BASEVER}
|
||||
else
|
||||
export LLVM_BASEVER := 15.0.4
|
||||
endif
|
||||
|
||||
ifneq ($(THIRDPARTY),)
|
||||
export THIRDPARTY := $(THIRDPARTY)
|
||||
else
|
||||
# Try to find third_party directory in default places
|
||||
IS_THIRDPARTY_EMPTY := $(wildcard $(TOPDIR)/../third_party/*)
|
||||
ifneq ($(IS_THIRDPARTY_EMPTY),)
|
||||
export THIRDPARTY := $(TOPDIR)/../third_party/
|
||||
endif
|
||||
|
||||
IS_THIRDPARTY_EMPTY := $(wildcard $(TOPDIR)/../../../third_party/*)
|
||||
ifneq ($(IS_THIRDPARTY_EMPTY),)
|
||||
export THIRDPARTY := $(TOPDIR)/../../../third_party/
|
||||
endif
|
||||
endif
|
||||
|
||||
export TEE_CLANG_DIR := ${TEE_COMPILER_DIR}/bin
|
||||
export TEE_SECUREC_DIR := $(THIRDPARTY)/bounds_checking_function
|
||||
export OPENSSL_DIR := $(THIRDPARTY)/openssl
|
||||
|
||||
export OLD_TOPDIR := $(TOPDIR)/config
|
||||
export TOOLS := $(TOPDIR)/build/tools
|
||||
export VER
|
||||
@@ -43,12 +85,8 @@ export BUILD_CFI := $(TOPDIR)/build/mk/common/cfi
|
||||
export BUILD_CONFIG := $(TOPDIR)/build/mk/common/config
|
||||
export BUILD_OPERATION := $(TOPDIR)/build/mk/common/operation
|
||||
|
||||
## if O=xxx, using outsize output directory.
|
||||
ifneq ($(O),)
|
||||
export OUTPUTDIR := $(O)
|
||||
else
|
||||
export PREBUILD_ROOT := $(TOPDIR)/prebuild
|
||||
export OUTPUTDIR := $(TOPDIR)/output
|
||||
endif
|
||||
|
||||
export SDK_VER := tee-kernel-local-release
|
||||
|
||||
@@ -76,7 +114,7 @@ GEN_CONF_FILE:
|
||||
rm -rf $(PREBUILD_DIR)/headers/.config
|
||||
cat $(CONFIG_FILE) | tee $(PREBUILD_DIR)/headers/.config
|
||||
|
||||
PATCH_OPENSSL:=$(shell $(TOPDIR)/lib/teelib/libopenssl/build_openssl.sh $(TOPDIR))
|
||||
PATCH_OPENSSL:=$(shell $(TOPDIR)/lib/teelib/libopenssl/build_openssl.sh $(THIRDPARTY) $(TOPDIR))
|
||||
|
||||
export PLAT_CFG_DIR := $(PLATFORM_DIR)/$(PLATFORM_NAME)/$(PRODUCT_NAME)/$(CHIP_NAME)/plat_cfg
|
||||
export PLAT_COMMON_DIR := $(PLATFORM_DIR)/common
|
||||
@@ -102,8 +140,8 @@ $(drivers): setup_links libs link_libs
|
||||
$(frameworks): setup_links libs link_libs
|
||||
$(service): setup_links libs link_libs
|
||||
package: check_sym
|
||||
@mkdir $(FRAMEWORK_ELF_PATH)
|
||||
@mkdir $(FRAMEWORK_ELF_PATH)/apps
|
||||
@mkdir -p $(FRAMEWORK_ELF_PATH)
|
||||
@mkdir -p $(FRAMEWORK_ELF_PATH)/apps
|
||||
cp -a $(product_apps) $(FRAMEWORK_ELF_PATH)/apps
|
||||
|
||||
ifeq ($(CONFIG_SUPPORT_64BIT),)
|
||||
@@ -188,7 +226,7 @@ release:
|
||||
|
||||
PHONY += clean
|
||||
clean: clean_links
|
||||
sh $(TOPDIR)/lib/teelib/libopenssl/clean_openssl.sh $(TOPDIR)
|
||||
sh $(TOPDIR)/lib/teelib/libopenssl/clean_openssl.sh $(THIRDPARTY) $(TOPDIR)
|
||||
@rm -rf $(OUTPUTDIR)
|
||||
@rm -rf sec_trustedcore.img
|
||||
@rm -rf tools/linker.lds_pp
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
FRAMEWORK_DIR=$(pwd)/../
|
||||
make V=3 TOPDIR=${FRAMEWORK_DIR} O=${FRAMEWORK_DIR}/output PREBUILD_ROOT=${FRAMEWORK_DIR}/prebuild GEN_CONF_FILE -j
|
||||
make V=3 TOPDIR=${FRAMEWORK_DIR} O=${FRAMEWORK_DIR}/output PREBUILD_ROOT=${FRAMEWORK_DIR}/prebuild install_headers -j
|
||||
make V=3 TOPDIR=${FRAMEWORK_DIR} O=${FRAMEWORK_DIR}/output PREBUILD_ROOT=${FRAMEWORK_DIR}/prebuild libs -j
|
||||
make V=3 TOPDIR=${FRAMEWORK_DIR} O=${FRAMEWORK_DIR}/output PREBUILD_ROOT=${FRAMEWORK_DIR}/prebuild tees -j
|
||||
make V=3 TOPDIR=${FRAMEWORK_DIR} O=${FRAMEWORK_DIR}/output PREBUILD_ROOT=${FRAMEWORK_DIR}/prebuild package -j
|
||||
make V=3 TARGET_BOARD_PLATFORM=$1 FRAMEWORK_ELF_PATH=$2 TEE_COMPILER_DIR=$3 LLVM_BASEVER=$4 TOPDIR=${FRAMEWORK_DIR} GEN_CONF_FILE -j
|
||||
make V=3 TARGET_BOARD_PLATFORM=$1 FRAMEWORK_ELF_PATH=$2 TEE_COMPILER_DIR=$3 LLVM_BASEVER=$4 TOPDIR=${FRAMEWORK_DIR} install_headers -j
|
||||
make V=3 TARGET_BOARD_PLATFORM=$1 FRAMEWORK_ELF_PATH=$2 TEE_COMPILER_DIR=$3 LLVM_BASEVER=$4 TOPDIR=${FRAMEWORK_DIR} libs -j
|
||||
make V=3 TARGET_BOARD_PLATFORM=$1 FRAMEWORK_ELF_PATH=$2 TEE_COMPILER_DIR=$3 LLVM_BASEVER=$4 TOPDIR=${FRAMEWORK_DIR} tees -j
|
||||
make V=3 TARGET_BOARD_PLATFORM=$1 FRAMEWORK_ELF_PATH=$2 TEE_COMPILER_DIR=$3 LLVM_BASEVER=$4 TOPDIR=${FRAMEWORK_DIR} package -j
|
||||
|
||||
@@ -37,7 +37,7 @@ export TARGET_ARCH_64 := aarch64-linux-gnu
|
||||
|
||||
ifeq ($(ARCH), arm)
|
||||
TARGET_ARCH := $(TARGET_ARCH_32)
|
||||
LIBCOMPILER_RT_BUILTINS := $(TEE_COMPILER_DIR)/lib/arm-linux-ohos/libclang_rt.builtins.a
|
||||
LIBCOMPILER_RT_BUILTINS := $(TEE_COMPILER_DIR)/lib/clang/$(LLVM_BASEVER)/lib/arm-linux-ohos/libclang_rt.builtins.a
|
||||
ifeq (${CONFIG_THUMB_SUPPORT},y)
|
||||
flags += -mthumb
|
||||
endif
|
||||
@@ -49,7 +49,7 @@ ifeq ($(CONFIG_ARM_CORTEX_A53),y)
|
||||
endif
|
||||
else
|
||||
TARGET_ARCH := $(TARGET_ARCH_64)
|
||||
LIBCOMPILER_RT_BUILTINS := $(TEE_COMPILER_DIR)/lib/aarch64-linux-ohos/libclang_rt.builtins.a
|
||||
LIBCOMPILER_RT_BUILTINS := $(TEE_COMPILER_DIR)/lib/clang/$(LLVM_BASEVER)/lib/aarch64-linux-ohos/libclang_rt.builtins.a
|
||||
flags += -march=armv8-a
|
||||
ifeq ($(CONFIG_ARM_CORTEX_A53),y)
|
||||
ASFLAGS += -march=armv8-a
|
||||
|
||||
@@ -16,7 +16,7 @@ CHIP_NAME=oh_64
|
||||
PRODUCT_NAME=oh
|
||||
CONFIG_SUPPORT_64BIT=true
|
||||
CONFIG_TA_64BIT=true
|
||||
#CONFIG_SSA_64BIT=true
|
||||
#CONFIG_SSA_64BIT is not set
|
||||
CONFIG_GTASK_64BIT=true
|
||||
CONFIG_HUK_SERVICE_64BIT=true
|
||||
CONFIG_PERMSRV_64BIT=true
|
||||
@@ -40,7 +40,7 @@ CONFIG_CRYPTO_AES_WRAPPER=true
|
||||
# services
|
||||
#
|
||||
CONFIG_APP_TEE_GTASK=y
|
||||
#CONFIG_APP_TEE_SSA=y
|
||||
#CONFIG_APP_TEE_SSA is not set
|
||||
CONFIG_APP_TEE_PERM=y
|
||||
CONFIG_APP_TEE_HUK=y
|
||||
CONFIG_OH_LOAD_KEY=y
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "global_task.h"
|
||||
#include "init.h"
|
||||
#include <sched.h>
|
||||
#include <mem_ops.h>
|
||||
|
||||
#define GT_CHANNEL_NUM 2
|
||||
|
||||
|
||||
@@ -67,7 +67,6 @@ struct mempool_state {
|
||||
|
||||
static struct dlist_node g_mem_ns;
|
||||
static struct mempool_state g_mb_state;
|
||||
static struct mempool_state g_rm_state;
|
||||
static struct pam_node *g_gt_pam_node = NULL;
|
||||
static tee_operation_gtask *g_gt_oper_addr = NULL;
|
||||
|
||||
@@ -156,6 +155,7 @@ static void free_tee_mem(const void *addr, uint32_t size)
|
||||
|
||||
static TEE_Result copy_from_src(uint32_t task_id, void **tee_addr, void *ree_addr, uint32_t size, uint32_t type)
|
||||
{
|
||||
(void)type;
|
||||
if (tee_addr == NULL || ree_addr == NULL || size == 0) {
|
||||
tloge("copy_from_src invalid input\n");
|
||||
return TEE_ERROR_BAD_PARAMETERS;
|
||||
@@ -440,6 +440,7 @@ bool is_opensession_cmd(const smc_cmd_t *cmd)
|
||||
static TEE_Result map_memref_for_gtask(bool ta2ta, const smc_cmd_t *cmd, tee_param_32 p,
|
||||
paddr_t buffer_h_addr, uint32_t type, void **ree_addr)
|
||||
{
|
||||
(void)type;
|
||||
if (ta2ta) {
|
||||
uint64_t tmp_addr;
|
||||
if (map_sharemem(cmd->uid, (uint32_t)p.memref.buffer | (buffer_h_addr << SHIFT_OFFSET),
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
*/
|
||||
#include "get_spawn_env.h"
|
||||
#include <stdlib.h>
|
||||
#include <alltypes.h>
|
||||
#include <errno.h>
|
||||
#include <tee_log.h>
|
||||
#include <target_type.h>
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
* See the Mulan PSL v2 for more details.
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
@@ -31,6 +33,8 @@
|
||||
#include "load_init.h"
|
||||
#include "ta_mt.h"
|
||||
#include <ipclib_hal.h>
|
||||
#include <mem_ops.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define RTLD_TA 0x100000
|
||||
#define IPC_CHANNEL_NUM 2
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
* PURPOSE.
|
||||
* See the Mulan PSL v2 for more details.
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#include "ta_mt.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
# See the Mulan PSL v2 for more details.
|
||||
set -e
|
||||
|
||||
opensslpath="$1/../../../third_party/openssl"
|
||||
opensslpath="$1/openssl"
|
||||
ln -s "${opensslpath}" ./
|
||||
|
||||
cd $opensslpath
|
||||
|
||||
@@ -18,7 +19,7 @@ cd $opensslpath
|
||||
echo "before ./config "
|
||||
./config
|
||||
make include/crypto/dso_conf.h
|
||||
cp "$1"/lib/teelib/libopenssl/include/opensslconf.h $opensslpath/include/openssl/
|
||||
cp "$1"/lib/teelib/libopenssl/include/bn_conf.h $opensslpath/include/crypto/
|
||||
patch -p1 < $1/lib/teelib/libopenssl/OpenSSL-customized-modification-unify.patch
|
||||
cp "$2"/lib/teelib/libopenssl/include/opensslconf.h $opensslpath/include/openssl/
|
||||
cp "$2"/lib/teelib/libopenssl/include/bn_conf.h $opensslpath/include/crypto/
|
||||
patch -p1 < $2/lib/teelib/libopenssl/OpenSSL-customized-modification-unify.patch
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
# PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
set -e
|
||||
cd "$1"/../../../third_party/openssl
|
||||
cd "$1"/openssl
|
||||
|
||||
git checkout .
|
||||
git clean -df
|
||||
|
||||
rm -rf $2"/lib/teelib/libopenssl/openssl
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../../../../../third_party/openssl/
|
||||
@@ -437,13 +437,6 @@ static TEE_Result open_session_handle(struct init_build_param *init_param,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void recover_ta_params(uint32_t *param_type)
|
||||
{
|
||||
for (uint32_t i = 0; i < TEE_PARAMS_NUM; i++) {
|
||||
uint32_t type = TEE_PARAM_TYPE_GET(*param_type, i);
|
||||
}
|
||||
}
|
||||
|
||||
static TEE_Result map_params(struct global_to_ta_msg *entry_msg, size_t *map_size, int32_t map_size_size,
|
||||
uint64_t *map_addrs, int32_t map_addrs_size)
|
||||
{
|
||||
@@ -556,7 +549,6 @@ void tee_task_entry(uint32_t init_build, const struct ta_routine_info *append_ar
|
||||
msg_send_elf(cmd, GLOBAL_HANDLE, &ret_msg, sizeof(ret_msg));
|
||||
continue;
|
||||
}
|
||||
recover_ta_params(&(entry_msg.param_type));
|
||||
}
|
||||
|
||||
switch (cmd) {
|
||||
|
||||
@@ -48,8 +48,8 @@ typedef unsigned short u16;
|
||||
typedef signed int s32;
|
||||
typedef unsigned int u32;
|
||||
|
||||
typedef signed long long s64;
|
||||
typedef unsigned long long u64;
|
||||
typedef int64_t s64;
|
||||
typedef uint64_t u64;
|
||||
|
||||
#ifndef VOID
|
||||
#define VOID void
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
* PURPOSE.
|
||||
* See the Mulan PSL v2 for more details.
|
||||
*/
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#include "tee_tag.h"
|
||||
|
||||
#include <securec.h>
|
||||
@@ -16,6 +18,7 @@
|
||||
#include "tee_mem_mgmt_api.h"
|
||||
#include "tee_init.h"
|
||||
#include <ipclib.h>
|
||||
#include <spawn_ext.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define DRIVER_TAG_MAX_LEN 25
|
||||
|
||||
Reference in New Issue
Block a user