diff --git a/Makefile b/Makefile index df3fd0a8f731b5eded7a4412fa9dc6614eaf179e..ac40f8018f10ff41327e92fa680ee00519607d70 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,6 @@ obj-m := tzdriver.o CONFIG_FFA_SUPPORT := 0 CONFIG_TEE_TELEPORT_SUPPORT := y CONFIG_CONFIDENTIAL_CONTAINER ?= y -CROSS_DOMAIN_PERF := y tzdriver-objs := core/smc_smp.o core/tc_client_driver.o core/session_manager.o core/mailbox_mempool.o core/teek_app_load.o tzdriver-objs += core/agent.o core/gp_ops.o core/mem.o core/cmdmonitor.o core/tzdebug.o core/tz_spi_notify.o core/tz_pm.o core/tee_compat_check.o @@ -16,9 +15,6 @@ tzdriver-objs += tzdriver_internal/tee_reboot/reboot.o ifeq ($(CONFIG_TEE_TELEPORT_SUPPORT), y) tzdriver-objs += core/tee_portal.o -ifeq ($(CROSS_DOMAIN_PERF), y) -tzdriver-objs += core/tee_posix_proxy.o -endif EXTRA_CFLAGS += -DCONFIG_TEE_TELEPORT_SUPPORT -DCONFIG_TEE_TELEPORT_AUTH EXTRA_CFLAGS += -DTEE_TELEPORT_PATH_UID_AUTH_CTX=\"/usr/bin/tee_teleport:0\" tzdriver-objs += core/tc_cvm_driver.o @@ -58,9 +54,6 @@ EXTRA_CFLAGS += -DCONFIG_AUTH_SUPPORT_UNAME -DCONFIG_AUTH_HASH -std=gnu99 EXTRA_CFLAGS += -DCONFIG_TEE_UPGRADE -DCONFIG_TEE_REBOOT -DCONFIG_CONFIDENTIAL_TEE EXTRA_CFLAGS += -I$(PWD)/tzdriver_internal/tee_reboot EXTRA_CFLAGS += -DMAILBOX_POOL_COUNT=32 -DLATE_KILL_WHEN_TA_LOAD -ifeq ($(CROSS_DOMAIN_PERF), y) -EXTRA_CFLAGS += -DCROSS_DOMAIN_PERF -endif ifeq ($(CPU_GROUP_BINDING), y) EXTRA_CFLAGS += -DCONFIG_CPU_GROUP_BINDING -DCONFIG_NUM_TEE_DIE=4 -DCONFIG_NUM_TEE_PHY_CORE_PER_DIE=32 endif diff --git a/core/tc_client_driver.c b/core/tc_client_driver.c index ccc46517df02a0aaefc120274d8331ff77a2b6c5..797c5d5ec85bf6671f2068063f42e21608e6805c 100644 --- a/core/tc_client_driver.c +++ b/core/tc_client_driver.c @@ -89,9 +89,6 @@ #ifdef CONFIG_TEE_TELEPORT_SUPPORT #include "tee_portal.h" -#ifdef CROSS_DOMAIN_PERF -#include "tee_posix_proxy.h" -#endif #endif #include "tee_info.h" @@ -1392,9 +1389,6 @@ static __init int tc_init(void) #ifdef CONFIG_TEE_TELEPORT_SUPPORT tee_portal_init(); -#ifdef CROSS_DOMAIN_PERF - tee_posix_proxy_init(); -#endif #endif /* diff --git a/core/tc_cvm_driver.c b/core/tc_cvm_driver.c index 076aab1e3b373e0d84ae98365d123b9b5f9e9fc8..47d6fe8a58838f866a23135d0660fcd83162ddf6 100644 --- a/core/tc_cvm_driver.c +++ b/core/tc_cvm_driver.c @@ -26,9 +26,6 @@ #endif #ifdef CONFIG_TEE_TELEPORT_SUPPORT #include "tee_portal.h" -#ifdef CROSS_DOMAIN_PERF -#include "tee_posix_proxy.h" -#endif #endif #include "tee_info.h" @@ -87,11 +84,6 @@ static int teleport_ioctl(struct file *file, unsigned int cmd, unsigned long arg case TC_NS_CLIENT_IOCTL_PORTAL_WORK: ret = tee_portal_work(file->private_data); break; -#ifdef CROSS_DOMAIN_PERF - case TC_NS_CLIENT_IOCTL_POSIX_PROXY_REGISTER_TASKLET: - ret = tee_posix_proxy_register_tasklet(argp, nsid); - break; -#endif #endif default: tloge("invalid cmd!\n"); @@ -114,9 +106,6 @@ static long tc_cvm_ioctl(struct file *file, unsigned int cmd, #ifdef CONFIG_TEE_TELEPORT_SUPPORT case TC_NS_CLIENT_IOCTL_PORTAL_REGISTER: case TC_NS_CLIENT_IOCTL_PORTAL_WORK: -#ifdef CROSS_DOMAIN_PERF - case TC_NS_CLIENT_IOCTL_POSIX_PROXY_REGISTER_TASKLET: -#endif if (check_tee_teleport_auth() == 0) ret = teleport_ioctl(file, cmd, arg); else @@ -167,9 +156,6 @@ static int tc_cvm_close(struct inode *inode, struct file *file) #ifdef CONFIG_TEE_TELEPORT_SUPPORT if (dev->portal_enabled) tee_portal_unregister(file->private_data); -#ifdef CROSS_DOMAIN_PERF - (void)tee_posix_proxy_unregister_all_tasklet(file->private_data); -#endif #endif if (is_system_agent(dev)) { send_crashed_event_response_single(dev); diff --git a/core/tee_posix_proxy.c b/core/tee_posix_proxy.c deleted file mode 100644 index 698c206641bc65f0493df9792a535ddaec4ebc9e..0000000000000000000000000000000000000000 --- a/core/tee_posix_proxy.c +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Copyright (c) 2023-2023 Huawei Technologies Co., Ltd. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - - #define TEE_POSIX_PROXY_EVENT_REGISTER_CTRL_TASKLET 4 - #define TEE_POSIX_PROXY_EVENT_REGISTER_DATA_TASKLET 5 - #define TEE_POSIX_PROXY_EVENT_UNREGISTER_ALL_TASKLET 6 - - struct posix_proxy_shm { - void *buffer; - uint32_t size; - }; - -struct posix_proxy_node { - struct list_head head; - unsigned int nsid; /* namesapce id */ - pid_t tp_pid; /* teleport pid, owner of posix_proxy_node with nsid */ - pid_t tp_ppid; /* teleport parent pid */ - struct posix_proxy_shm *ctrl_shm; - struct posix_proxy_shm *data_shm; - uint32_t event; - atomic_t ref_cnt; -}; - -struct mailbox_info { - void *buf; /* mailbox vaddr */ - uint32_t size; /* mailbox buffer size */ - uint32_t mb_l_addr; /* low of mailbox buffer pyhs addr */ - uint32_t mb_h_addr; /* low of mailbox buffer pyhs addr */ -}; - -struct posix_proxy_control { - struct mutex lock; - struct list_head list; -}; - -static struct posix_proxy_control g_posix_proxy_control; - -static pid_t get_pid_compatible_namespace(struct task_struct *task) -{ - /* Obtain tgid in namespace */ - pid_t namespace_tgid = task_tgid_vnr(task); - - return namespace_tgid; -} - -static int alloc_and_fill_mailbox_info(struct posix_proxy_ioctl_args *args, struct mailbox_info *mb_info) -{ - uint32_t len; - uint32_t page_num; - int ret = 0; - void *mb_buff = NULL; - - page_num = args->buffer_size / PAGE_SIZE; - len = sizeof(struct pagelist_info) + (sizeof(uint64_t) * page_num); - mb_buff = mailbox_alloc(len, MB_FLAG_ZERO); - if (mb_buff == NULL) { - tloge("alloc mailbox mem failed\n"); - return -ENOMEM; - } - - mb_info->mb_l_addr = mailbox_virt_to_phys((uintptr_t)mb_buff); - mb_info->mb_h_addr = (uint64_t)mailbox_virt_to_phys((uintptr_t)mb_buff) >> ADDR_TRANS_NUM; - mb_info->buf = mb_buff; - mb_info->size = len; - - if (fill_shared_mem_info(args->addr, page_num, 0, args->buffer_size, (uint64_t)(uintptr_t)mb_info->buf) != 0) { - tloge("fill shared mem info failed\n"); - mailbox_free(mb_buff); - ret = -EFAULT; - } - - return ret; -} - -static void release_mailbox_info(const struct mailbox_info *mb_info) -{ - if (mb_info->buf != NULL) - mailbox_free(mb_info->buf); -} - -static void destroy_posix_proxy_shm(struct posix_proxy_shm *shm) -{ - if (shm == NULL) - return; - - if (shm->buffer != NULL) { - release_shared_mem_page((uint64_t)(uintptr_t)shm->buffer, shm->size); - kfree(shm->buffer); - } - kfree(shm); -} - -#ifdef DEF_ENG -static void __attribute__((unused)) dump_posix_proxy_list(void) -{ - tloge("==== dump posix_proxy_list start ====\n"); - struct posix_proxy_node *posix_proxy = NULL; - uint32_t i = 0; - list_for_each_entry(posix_proxy, &g_posix_proxy_control.list, head) { - tloge("posix_proxy_node[%d] nsid %d, tp_pid %d\n", i, posix_proxy->nsid, posix_proxy->tp_pid); - i++; - } - tloge("==== dump posix_proxy_list end ====\n"); -} -#endif - -/* Important: must in lock protect */ -static int ref_posix_proxy(struct posix_proxy_node *posix_proxy) -{ - if (posix_proxy == NULL) - return -EINVAL; - - if (atomic_read(&posix_proxy->ref_cnt) == INT_MAX) { - tloge("posix proxy ref_cnt is out of limit\n"); - return -EBADFD; - } - - (void)atomic_inc(&posix_proxy->ref_cnt); - return 0; -} - -static void deref_posix_proxy(struct posix_proxy_node *posix_proxy) -{ - if (posix_proxy == NULL) - return; - - mutex_lock(&g_posix_proxy_control.lock); - /* unreachable branch */ - if (atomic_read(&posix_proxy->ref_cnt) == 0) { - tloge("deref failed due to posix proxy's ref_cnt is zero\n"); - mutex_unlock(&g_posix_proxy_control.lock); - return; - } - - if (atomic_dec_and_test(&posix_proxy->ref_cnt)) { - if (list_empty(&posix_proxy->head) == 0) - list_del(&posix_proxy->head); - if (posix_proxy->ctrl_shm != NULL) - destroy_posix_proxy_shm(posix_proxy->ctrl_shm); - if (posix_proxy->data_shm != NULL) - destroy_posix_proxy_shm(posix_proxy->data_shm); - - kfree(posix_proxy); - } - - mutex_unlock(&g_posix_proxy_control.lock); -} - -static int send_posix_proxy_smc(const struct posix_proxy_node *posix_proxy, const struct mailbox_info *mb_info) -{ - struct tc_ns_smc_cmd smc_cmd = { { 0 }, 0 }; - int ret = 0; - struct tc_uuid appmgr_uuid = TEE_SERVICE_APPMGR; - - if (posix_proxy == NULL || posix_proxy->event < TEE_POSIX_PROXY_EVENT_REGISTER_CTRL_TASKLET || - posix_proxy->event > TEE_POSIX_PROXY_EVENT_UNREGISTER_ALL_TASKLET) { - tloge("bad params for posix proxy\n"); - return -EINVAL; - } - - (void)memcpy_s(&smc_cmd.uuid, sizeof(struct tc_uuid), &appmgr_uuid, sizeof(struct tc_uuid)); - smc_cmd.cmd_type = CMD_TYPE_GLOBAL; - smc_cmd.cmd_id = GLOBAL_CMD_ID_PORTAL_WORK; - smc_cmd.eventindex = posix_proxy->event; - smc_cmd.pid = posix_proxy->tp_pid; - /* temporilay use agent_id store teleport's parent pid */ - smc_cmd.agent_id = posix_proxy->tp_ppid; - - if (posix_proxy->event == TEE_POSIX_PROXY_EVENT_REGISTER_CTRL_TASKLET || - posix_proxy->event == TEE_POSIX_PROXY_EVENT_REGISTER_DATA_TASKLET) { - smc_cmd.login_data_phy = mb_info->mb_l_addr; - smc_cmd.login_data_h_addr = mb_info->mb_h_addr; - smc_cmd.login_data_len = mb_info->size; - } - /* smc_cmd.ca_pid and smc_cmd.nsid will set in tc_ns_smc() */ - - ret = tc_ns_smc(&smc_cmd); - if (ret != 0) { - tloge("smc calll return error, ret 0x%x\n", smc_cmd.ret_val); - if (smc_cmd.ret_val == TEEC_ERROR_SERVICE_NOT_EXIST) - return -EOPNOTSUPP; - else if (smc_cmd.ret_val == TEEC_ERROR_OUT_OF_MEMORY) - return -ENOMEM; - } - - return ret; -} - -/* find_posix_proxy_node_by_tgid will add ref_cnt */ -static struct posix_proxy_node *find_posix_proxy_node_by_tgid(unsigned int nsid, pid_t tgid) -{ - struct posix_proxy_node *posix_proxy = NULL; - mutex_lock(&g_posix_proxy_control.lock); - list_for_each_entry(posix_proxy, &g_posix_proxy_control.list, head) { - if (posix_proxy->nsid == nsid && posix_proxy->tp_pid == tgid) { - if (ref_posix_proxy(posix_proxy) != 0) - break; - mutex_unlock(&g_posix_proxy_control.lock); - return posix_proxy; - } - } - mutex_unlock(&g_posix_proxy_control.lock); - return NULL; -} - -static void add_posix_proxy_node_to_list(struct posix_proxy_node *posix_proxy) -{ - mutex_lock(&g_posix_proxy_control.lock); - list_add_tail(&posix_proxy->head, &g_posix_proxy_control.list); - mutex_unlock(&g_posix_proxy_control.lock); -} - -static int alloc_posix_proxy_node(unsigned int nsid, struct posix_proxy_node **posix_proxy) -{ - *posix_proxy = (struct posix_proxy_node *)kzalloc(sizeof(struct posix_proxy_node), GFP_KERNEL); - if (ZERO_OR_NULL_PTR((unsigned long)(uintptr_t)(*posix_proxy))) { - tloge("alloc mem for posix proxy node failed\n"); - return -ENOMEM; - } - - INIT_LIST_HEAD(&(*posix_proxy)->head); - (*posix_proxy)->nsid = nsid; - (*posix_proxy)->tp_pid = get_pid_compatible_namespace(current); - (*posix_proxy)->tp_ppid = get_pid_compatible_namespace(current->parent); - (*posix_proxy)->event = -1; - (*posix_proxy)->ctrl_shm = NULL; - (*posix_proxy)->data_shm = NULL; - atomic_set(&(*posix_proxy)->ref_cnt, 1); - return 0; -} - -static int add_shm_to_posix_proxy(struct posix_proxy_node *posix_proxy, struct mailbox_info *mb_info, - enum posix_proxy_shm_type shm_type) -{ - struct posix_proxy_shm *shm = NULL; - int ret = 0; - - shm = kzalloc(sizeof(struct posix_proxy_shm), GFP_KERNEL); - if (ZERO_OR_NULL_PTR((unsigned long)(uintptr_t)shm)) { - tloge("alloc shm buff failed\n"); - return -ENOMEM; - } - - shm->buffer = kzalloc(mb_info->size, GFP_KERNEL); - if (ZERO_OR_NULL_PTR((unsigned long)(uintptr_t)shm->buffer)) { - tloge("kzalloc failed\n"); - ret = -ENOMEM; - goto clear; - } - - (void)memcpy_s(shm->buffer, mb_info->size, mb_info->buf, mb_info->size); - shm->size = mb_info->size; - - if (shm_type == CTRL_TASKLET_BUFF) - posix_proxy->ctrl_shm = shm; - else - posix_proxy->data_shm = shm; - goto end; - -clear: - kfree(shm); -end: - return ret; -} - -static int send_ctrl_tasklet_register(unsigned int nsid, struct posix_proxy_ioctl_args *args) -{ - int ret = 0; - struct mailbox_info mb_info = { 0 }; - struct posix_proxy_node *posix_proxy = NULL; - - posix_proxy = find_posix_proxy_node_by_tgid(nsid, get_pid_compatible_namespace(current)); - if (posix_proxy != NULL) { - tloge("find a duplicate node with the same teleport pid when register ctrl tasklet\n"); - deref_posix_proxy(posix_proxy); - return -EEXIST; - } - - ret = alloc_and_fill_mailbox_info(args, &mb_info); - if (ret != 0) { - tloge("cannot fill ctrl tasklet info to mailbox\n"); - return ret; - } - - ret = alloc_posix_proxy_node(nsid, &posix_proxy); - if (ret != 0) { - tloge("alloc posix_proxy node for ctrl tasklet failed\n"); - release_shared_mem_page((uint64_t)(uintptr_t)mb_info.buf, mb_info.size); - goto end; - } - - ret = add_shm_to_posix_proxy(posix_proxy, &mb_info, CTRL_TASKLET_BUFF); - if (ret != 0) { - tloge("add shm buff info to posix_proxy failed\n"); - release_shared_mem_page((uint64_t)(uintptr_t)mb_info.buf, mb_info.size); - goto destroy_posix_proxy; - } - - posix_proxy->event = TEE_POSIX_PROXY_EVENT_REGISTER_CTRL_TASKLET; - - ret = send_posix_proxy_smc(posix_proxy, &mb_info); - if (ret != 0) { - tloge("send register tasklet request to gtask failed, shm_type %d, ret = %d\n", args->shm_type, ret); - goto destroy_posix_proxy; - } else { - add_posix_proxy_node_to_list(posix_proxy); - } - - goto end; - -destroy_posix_proxy: - /* destroy_posix_proxy_shm func will release shm buf page */ - destroy_posix_proxy_shm(posix_proxy->ctrl_shm); - kfree(posix_proxy); -end: - release_mailbox_info(&mb_info); - return ret; -} - -static int send_data_tasklet_register(unsigned int nsid, struct posix_proxy_ioctl_args *args) -{ - int ret = 0; - struct mailbox_info mb_info = { 0 }; - struct posix_proxy_node *posix_proxy = NULL; - - posix_proxy = find_posix_proxy_node_by_tgid(nsid, get_pid_compatible_namespace(current)); - if (posix_proxy == NULL) { - tloge("expected posix proxy node is NULL when register data tasklet\n"); - return -ENOENT; - } - - ret = alloc_and_fill_mailbox_info(args, &mb_info); - if (ret != 0) { - tloge("cannot fill ctrl tasklet info to mailbox\n"); - goto end; - } - struct posix_proxy_shm *old_shm = posix_proxy->data_shm; - - ret = add_shm_to_posix_proxy(posix_proxy, &mb_info, DATA_TASKLET_BUFF); - if (ret != 0) { - tloge("add shm buffer info to posix proxy failed\n"); - release_shared_mem_page((uint64_t)(uintptr_t)mb_info.buf, mb_info.size); - goto end; - } - - posix_proxy->event = TEE_POSIX_PROXY_EVENT_REGISTER_DATA_TASKLET; - - ret = send_posix_proxy_smc(posix_proxy, &mb_info); - if (ret != 0) { - tloge("send register tasklet request to gtask failed, shm_type %d, ret = %d\n", args->shm_type, ret); - goto free_data_shm; - } - destroy_posix_proxy_shm(old_shm); - goto end; - -free_data_shm: - /* destroy_posix_proxy_shm func will release shm buff page */ - destroy_posix_proxy_shm(posix_proxy->data_shm); - /* restore old data shm */ - posix_proxy->data_shm = old_shm; -end: - deref_posix_proxy(posix_proxy); - release_mailbox_info(&mb_info); - return ret; -} - -/* 256MB, the configuration is the same as that in teleport */ -#define MAX_TASKLET_BUFF_SIZE (256 * 1024 * 1024) - -static bool posix_proxy_user_args_check(struct posix_proxy_ioctl_args *args) -{ - bool invalid = true; - if (args->shm_type == CTRL_TASKLET_BUFF) - invalid = args->addr == 0 || args->addr % PAGE_SIZE != 0 || args->buffer_size != PAGE_SIZE; - else if (args->shm_type == DATA_TASKLET_BUFF) - invalid = args->addr == 0 || args->addr % PAGE_SIZE != 0 || args->buffer_size % PAGE_SIZE != 0 || - args->buffer_size > MAX_TASKLET_BUFF_SIZE || args->buffer_size == 0; - else - tloge("bad type for shm\n"); - - return invalid; -} - -/* send create crtl or data tasklet request to gtask */ -int tee_posix_proxy_register_tasklet(void __user *arg, unsigned int nsid) -{ - int ret = 0; - struct posix_proxy_ioctl_args args = { 0 }; - if (arg == NULL || copy_from_user(&args, (void *)(uintptr_t)arg, sizeof(args)) != 0) { - tloge("arg is NULL or copy posix proxy args failed\n"); - return -EINVAL; - } - - if (posix_proxy_user_args_check(&args)) { - tloge("bad memory addr or size or shm_type\n"); - return -EINVAL; - } - - if (args.shm_type == CTRL_TASKLET_BUFF) { - ret = send_ctrl_tasklet_register(nsid, &args); - } else if (args.shm_type == DATA_TASKLET_BUFF) { - ret = send_data_tasklet_register(nsid, &args); - } else { - tloge("invalid register cmd\n"); - ret = -EINVAL; - } - - return ret; -} - -/* send destroy all tasket request to gtask */ -int tee_posix_proxy_unregister_all_tasklet(const void *owner) -{ - if (owner == NULL) { - tloge("bad param\n"); - return -EINVAL; - } - - int ret = 0; - uint32_t nsid; -#ifdef CONFIG_CONFIDENTIAL_CONTAINER - struct tc_ns_dev_file *dev = (struct tc_ns_dev_file *)owner; - nsid = dev->nsid; -#else - nsid = PROC_ID_INIT_INO; -#endif - pid_t tp_pid = get_pid_compatible_namespace(current); - struct posix_proxy_node *posix_proxy = find_posix_proxy_node_by_tgid(nsid, tp_pid); - if (posix_proxy == NULL) { - tlogd("cannot find posix proxy node, unregister failed\n"); - return -ENOENT; - } - - posix_proxy->event = TEE_POSIX_PROXY_EVENT_UNREGISTER_ALL_TASKLET; - - ret = send_posix_proxy_smc(posix_proxy, NULL); - if (ret < 0) { - tloge("send unregister all tasklet request to gtask failed, ret = %d\n", ret); - deref_posix_proxy(posix_proxy); - return ret; - } - - tlogd("destroy_posix_proxy node nsid %u, tp_pid %d, host tp_pid %d\n", nsid, tp_pid, current->tgid); - /* sub ref_cnt for previous find_posix_proxy_node_by_tgid */ - deref_posix_proxy(posix_proxy); - /* sub to zero to destroy posix proxy */ - deref_posix_proxy(posix_proxy); - return ret; -} - -void tee_posix_proxy_init(void) -{ - mutex_init(&g_posix_proxy_control.lock); - INIT_LIST_HEAD(&g_posix_proxy_control.list); -} diff --git a/core/tee_posix_proxy.h b/core/tee_posix_proxy.h deleted file mode 100644 index 3a629657c043bb97503dde71c471fa59c7fd92b8..0000000000000000000000000000000000000000 --- a/core/tee_posix_proxy.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2023-2023 Huawei Technologies Co., Ltd. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ -#ifndef TEE_POSIX_PROXY_H -#define TEE_POSIX_PROXY_H - -int tee_posix_proxy_register_tasklet(void __user *arg, unsigned int nsid); -int tee_posix_proxy_unregister_all_tasklet(const void *owner); - -void tee_posix_proxy_init(void); - -#endif \ No newline at end of file diff --git a/tc_ns_client.h b/tc_ns_client.h index fc329f078610da68a80aa42fd51eb53a97276afe..1152a3285f3b5a7eac0a8191ff95d843e221ea4d 100644 --- a/tc_ns_client.h +++ b/tc_ns_client.h @@ -128,22 +128,6 @@ struct load_secfile_ioctl_struct { }; }__attribute__((packed)); -#ifdef CROSS_DOMAIN_PERF -enum posix_proxy_shm_type { - CTRL_TASKLET_BUFF = 1, - DATA_TASKLET_BUFF -}; - -struct posix_proxy_ioctl_args { - enum posix_proxy_shm_type shm_type; - uint32_t buffer_size; - union { - void *buffer; - unsigned long long addr; - }; -}; -#endif - struct agent_ioctl_args { uint32_t id; uint32_t buffer_size; @@ -222,10 +206,6 @@ struct tc_ns_log_pool { _IOWR(TC_NS_CLIENT_IOC_MAGIC, 24, struct agent_ioctl_args) #define TC_NS_CLIENT_IOCTL_PORTAL_WORK \ _IOWR(TC_NS_CLIENT_IOC_MAGIC, 25, struct agent_ioctl_args) -#ifdef CROSS_DOMAIN_PERF -#define TC_NS_CLIENT_IOCTL_POSIX_PROXY_REGISTER_TASKLET \ - _IOWR(TC_NS_CLIENT_IOC_MAGIC, 27, struct posix_proxy_ioctl_args) -#endif #endif #define TC_NS_CLIENT_IOCTL_GET_TEE_INFO \ _IOWR(TC_NS_CLIENT_IOC_MAGIC, 26, struct tc_ns_tee_info)