blob: 8942119707af37e17c1b341ae600c2afb79e3cbc [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * swtr.h
41 *
42 * Project:
43 * --------
44 * Maui_Software
45 *
46 * Description:
47 * ------------
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 * removed!
59 * removed!
60 *
61 * removed!
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 * removed!
68 *
69 * removed!
70 * removed!
71 * removed!
72 *
73 * removed!
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 * removed!
80 * removed!
81 * removed!
82 * removed!
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 *
97 * removed!
98 * removed!
99 * removed!
100 *
101 * removed!
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 * removed!
108 *
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 *
129 * removed!
130 * removed!
131 * removed!
132 *
133 * removed!
134 * removed!
135 * removed!
136 *
137 * removed!
138 * removed!
139 * removed!
140 * removed!
141 *------------------------------------------------------------------------------
142 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
143 *============================================================================
144 ****************************************************************************/
145
146#ifndef SWTR_H
147#define SWTR_H
148
149#include "kal_public_api.h"
150#include "system_profiler_public.h"
151
152
153
154typedef struct ST_AddonInfo_T
155{
156 SYSPROFILER_ADDON_TYPE addonType;
157 kal_uint32 log_sz;
158 kal_char ext_name[12];
159 void (*ST_AddonInfoInitFunc)(void);
160 kal_bool ST_SwapOutLogging;
161 kal_uint8 *(*ST_AddonInfoLoggingFunc)(void);
162} ST_AddonInfo;
163
164/* Type Definition */
165typedef struct ST_LoggingNode_T
166{
167 kal_uint32 jobID;
168 kal_uint32 USCNT;
169 kal_uint32 CoreIDTCID;
170 kal_uint32 PC;
171} ST_LoggingNode;
172
173extern kal_uint8* ST_memory[];
174extern kal_uint32 ST_MALMO_ASM_ChangeContextID(kal_uint8);
175
176#define ST_Current_IsRunning() ST_IsRunning(kal_get_current_core_id())
177#define SWTR_IS_RUNNING(coreID) ( ST_memory[coreID] != NULL )
178
179
180INLINE INLINE_ALWAYS static kal_bool ST_IsRunning(kal_uint8 coreID)
181{
182 return SWTR_IS_RUNNING(coreID);
183}
184
185
186#if defined(__SYSTEM_PROFILER_ON__)
187SYSPROFILER_ADDON_TYPE ST_MALMO_ASM_Register( SYSPROFILER_ADDON_TYPE addonType, kal_uint8 coreID);
188#endif
189kal_bool ST_IsRunning(kal_uint8 coreID);
190SYSPROFILER_ERROR_CODE ST_Register_for_Core(SYSPROFILER_ADDON_TYPE addonType, kal_uint32 addonSize, kal_char addonName[], void (*ST_AddonInfoInitFunc)(void), kal_uint8* (*ST_AddonInfoLoggingFunc)(void), kal_bool ST_SwapOutLogging, kal_uint8 coreID) ;
191SYSPROFILER_ERROR_CODE ST_RetreiveLoggingBuffer(kal_uint8 **startAddr, kal_uint32 *size, kal_uint8 **currPtr, kal_uint8 coreID) ;
192SYSPROFILER_ERROR_CODE ST_RetrieveHeader(kal_uint8 **MADesc, kal_uint32 *szMADesc, kal_uint8 coreID) ;
193SYSPROFILER_ERROR_CODE ST_init_and_running_for_Core( kal_uint32 samplingRate, kal_uint32* bufferStartAddress, kal_uint32 bufferSize, kal_uint8 coreID);
194SYSPROFILER_ERROR_CODE ST_stop_for_Core(kal_uint8 coreID);
195
196#endif /* SWTR_H */
197