• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 Huawei Technologies Co., Ltd.
3  * Decription: TEE Logging Subsystem, read the tee os log from rdr memory
4  *
5  * This software is licensed under the terms of the GNU General Public
6  * License version 2, as published by the Free Software Foundation, and
7  * may be copied, distributed, and modified under those terms.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  */
14 #ifndef TLOGGER_H
15 #define TLOGGER_H
16 
17 #include <linux/types.h>
18 
19 #define OPEN_FILE_MODE		  0640U
20 #define ROOT_UID			  0
21 #define ROOT_GID			  0
22 #define SYSTEM_GID			  1000
23 #ifdef LAST_TEE_MSG_ROOT_GID
24 #define FILE_CHOWN_GID		  0
25 #else
26 /* system gid for last_teemsg file sys chown */
27 #define FILE_CHOWN_GID		  1000
28 #endif
29 
30 #define UINT64_MAX (uint64_t)(~((uint64_t)0)) /* 0xFFFFFFFFFFFFFFFF */
31 
32 #ifdef CONFIG_TEELOG
33 void tz_log_write(void);
34 int tlogger_store_msg(const char *file_path, uint32_t file_path_len);
35 int register_mem_to_teeos(uint64_t mem_addr, uint32_t mem_len, bool is_cache_mem);
36 
37 #ifdef CONFIG_TZDRIVER_MODULE
38 int init_tlogger_service(void);
39 void free_tlogger_service(void);
40 int register_tloger_mem(void);
41 #endif
42 
43 #else
tz_log_write(void)44 static inline void tz_log_write(void)
45 {
46 	return;
47 }
48 
tlogger_store_msg(const char * file_path,uint32_t file_path_len)49 static inline int tlogger_store_msg(const char *file_path, uint32_t file_path_len)
50 {
51 	(void)file_path;
52 	(void)file_path_len;
53 	return 0;
54 }
register_mem_to_teeos(uint64_t mem_addr,uint32_t mem_len,bool is_cache_mem)55 static inline int register_mem_to_teeos(uint64_t mem_addr, uint32_t mem_len,
56 	bool is_cache_mem)
57 {
58 	(void)mem_addr;
59 	(void)mem_len;
60 	return 0;
61 }
init_tlogger_service(void)62 static inline int init_tlogger_service(void)
63 {
64 	return 0;
65 }
free_tlogger_service(void)66 static inline void free_tlogger_service(void)
67 {
68 }
69 #endif
70 #endif
71