blob: da4dc33c4f7e3d77ac6071a8d31c204b4a5aee4c [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/**************************************************************************
2*
3* Copyright (c) 2012 ZTE Corporation.
4*
5***************************************************************************
6* Ä£ ¿é Ãû : P98C_OSS
7* ÎÄ ¼þ Ãû : sup.h
8* Ïà¹ØÎļþ :
9* ʵÏÖ¹¦ÄÜ : supÄÚ²¿Í·Îļþ,¶¨ÒåÄÚ²¿¸÷Ä£¿é¹«¹²Êý¾Ý½á¹¹µÈ
10* ×÷ Õß : hongkun
11* °æ ±¾ : V1.0
12* Íê³ÉÈÕÆÚ : 2007-10-25
13* ÆäËü˵Ã÷ :
14**************************************************************************/
15
16/**************************************************************************
17* Ð޸ļǼ
18**************************************************************************/
19/**************************************************************************
20* Ð޸ıàºÅ : 0001
21* ÐÞ ¸Ä ÈË : chenxingfang
22* ÐÞ¸ÄÈÕÆÚ : 2012-09-17
23* ÐÞ¸ÄÄÚÈÝ : ¸ñʽ¹æ·¶ºÍPC-LINT×ß²é EC:617001782014
24**************************************************************************/
25
26#ifndef _SUP_H
27#define _SUP_H
28
29/**************************************************************************
30* #includeÇø
31**************************************************************************/
32#ifdef __cplusplus
33extern "C"
34{
35#endif
36
37/**************************************************************************
38* ºê¶¨ÒåÇø
39**************************************************************************/
40#define CHANNEL_CFG_NUM 30
41
42#define SUP_THREAD_LIVE_BIT 1
43#define SUP_THREAD_LAZY_BIT 2
44#define SUP_THREAD_STATISTIC_INFO_BIT 4
45
46#ifdef _OS_TOS
47#define TOS_STATISTIC_TIMESLICE
48#endif
49
50/**************************************************************************
51* Êý¾Ý½á¹¹¶¨ÒåÇø
52**************************************************************************/
53/* ÄÚ´æ¹ÜÀíÄ£¿é */
54typedef struct
55{
56 T_ZOss_Node node; /* Á´±í¿ØÖƽṹ */
57 VOID *mem; /* ÄÚ´æÖ¸Õë */
58 UINT32 mem_size; /* ÄÚ´æ´óС */
59 CHAR name[12]; /* ÉêÇëλÖÃÎļþ */
60 UINT32 line; /* ÉêÇëλÖÃÐкŠ*/
61 ZOSS_THREAD_ID thread_id; /* ÉêÇëÏ̺߳Š*/
62 ZOSS_TASK_ID task_id; /* ÉêÇëÈÎÎñºÅ */
63 UINT32 apply_time_tick; /* ÉêÇëʱ¼ä(TICK) */
64}T_Mem_MemNodeInfo; /* ϵͳÄÚ´æÐÅÏ¢ */
65
66/**************************************************************************
67* º¯ÊýÉùÃ÷Çø
68**************************************************************************/
69UINT32 TIMER_Init(VOID);
70UINT32 TEST_Init(VOID);
71UINT32 PSM_Init(VOID);
72UINT32 NV_Init(VOID);
73#ifdef TOS_STATISTIC_TIMESLICE
74void zOss_StatisticTimesliceStart(UINT32 time_len, UINT32 type);
75#endif
76/*ÈÎÎñ¹ÜÀíÄ£¿é */
77UINT32 SCHE_Init(VOID);
78UINT32 zOss_TaskSendDataEx(T_ZOss_TaskMsgHead *buf);
79UINT32 Sche_TaskSend(UINT32 msg_id, VOID *buf, UINT16 msg_len, ZOSS_TASK_ID s_task_id, ZOSS_TASK_ID t_task_id);
80UINT32 Sche_TaskSendData(UINT32 msg_id, VOID *buf, UINT16 msg_len, ZOSS_TASK_ID s_task_id, ZOSS_TASK_ID t_task_id);
81UINT32 Sche_InterruptTaskSend(UINT32 msg_id, T_ZOss_TaskMsgHead *pMsg, UINT16 msg_len, ZOSS_TASK_ID task_id);
82VOID *Sche_getBufPoint(T_ZOss_TaskMsgHead *phead);
83UINT32 Sche_getBufLength(T_ZOss_TaskMsgHead *phead);
84UINT32 Sche_DeadLoop(ZOSS_TASK_ID *task_id_arr);
85
86/* ÄÚ´æ¹ÜÀíÄ£¿é */
87UINT32 MEM_Init(VOID);
88VOID FS_Init(VOID);
89UINT32 Mem_GetSysMemDebugInfo(T_ZOss_List *mem_debug_info_lst);
90UINT32 Mem_GetUBUseInfo(T_Mem_UBPoolGrpInfo *ub_pool_grp_info, UINT8 num);
91UINT32 Mem_CheckUBLeak(T_Mem_UBLeakInfo *ub_leak_info, UINT32 ub_leak_time, UINT8 poolNum, UINT32 size);
92UINT32 Mem_ThreadUBInfo(ZOSS_THREAD_ID threadId, T_Mem_UBBlockInfo *threadUbInfo, UINT32 num, UINT8 poolNum);
93UINT32 Mem_TaskUBInfo(ZOSS_TASK_ID taskId, T_Mem_UBBlockInfo *taskUbInfo, UINT32 num, UINT8 poolNum);
94
95/* Òì³£¹ÜÀíÄ£¿é */
96UINT32 EXCEP_Init(VOID);
97VOID Excep_DaemonTask(UINT8 state, UINT32 msg_id, UINT8 *buf, UINT16 msg_len, UINT8 *private_data);
98
99/* Ê¡µç¹³×Óº¯Êý*/
100VOID zOss_ThreadSwapInPsmHook(T_ZOsa_ThreadUserArea *user_area);
101VOID zOss_ThreadSwapOutPsmHook(T_ZOsa_ThreadUserArea *user_area);
102VOID zOss_RecordPsmLastSwapTime(VOID);
103VOID zOss_ClearSleepTime(VOID);
104
105/**************************************************************************
106* È«¾Ö³£Á¿/±äÁ¿ÉùÃ÷Çø
107**************************************************************************/
108
109#ifdef __cplusplus
110}
111#endif
112
113#endif /* _SUP_H */
114