0
|
1 |
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
|
|
2 |
// All rights reserved.
|
|
3 |
// This component and the accompanying materials are made available
|
|
4 |
// under the terms of the License "Eclipse Public License v1.0"
|
|
5 |
// which accompanies this distribution, and is available
|
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
|
7 |
//
|
|
8 |
// Initial Contributors:
|
|
9 |
// Nokia Corporation - initial contribution.
|
|
10 |
//
|
|
11 |
// Contributors:
|
|
12 |
//
|
|
13 |
// Description:
|
|
14 |
// e32\include\kernel\debug.h
|
|
15 |
// Public header for debuggers
|
|
16 |
//
|
|
17 |
//
|
|
18 |
|
|
19 |
#ifndef __DEBUG_H__
|
|
20 |
#define __DEBUG_H__
|
|
21 |
|
|
22 |
/**
|
|
23 |
Stop-mode debugger Offset Table identifiers
|
|
24 |
These enumerations correspond to indecies in the object table defined by
|
|
25 |
the stop-mode debug API
|
|
26 |
Note:TOffsetTableEntry::EOffsetTableEntryMax is deprecated. Use DDebuggerInfo::iObjectOffsetTableCount instead.
|
|
27 |
@publishedPartner
|
|
28 |
@released
|
|
29 |
*/
|
|
30 |
enum TOffsetTableEntry
|
|
31 |
{
|
|
32 |
// debugger info
|
|
33 |
EDebugger_ObjectOffsetTable,
|
|
34 |
EDebugger_ObjectOffsetTableCount,
|
|
35 |
EDebugger_ThreadContextTable,
|
|
36 |
EDebugger_Version,
|
|
37 |
EDebugger_OSVersion,
|
|
38 |
EDebugger_Reserved,
|
|
39 |
EDebugger_Containers,
|
|
40 |
EDebugger_Scheduler,
|
|
41 |
EDebugger_CurrentThread,
|
|
42 |
EDebugger_CodeSegGlobalList,
|
|
43 |
EDebugger_CodeSegLock,
|
|
44 |
EDebugger_Change,
|
|
45 |
// DMutex info
|
|
46 |
EMutex_HoldCount,
|
|
47 |
// more debugger info
|
|
48 |
EDebugger_ShadowPages,
|
|
49 |
EDebugger_ShadowPageCount,
|
|
50 |
EDebugger_EventMask,
|
|
51 |
// DObjectCon info
|
|
52 |
EObjectCon_Mutex,
|
|
53 |
EObjectCon_Objects,
|
|
54 |
EObjectCon_Count,
|
|
55 |
// more debugger info
|
|
56 |
EDebugger_EventHandlerBreakpoint,
|
|
57 |
EDebugger_MemoryModelType,
|
|
58 |
EDebugger_MemModelObjectOffsetTable,
|
|
59 |
EDebugger_MemModelObjectOffsetTableCount,
|
|
60 |
// thread info
|
|
61 |
EThread_Name,
|
|
62 |
EThread_Id,
|
|
63 |
EThread_OwningProcess,
|
|
64 |
EThread_NThread,
|
|
65 |
EThread_SupervisorStack,
|
|
66 |
EThread_SupervisorStackSize,
|
|
67 |
EThread_UserStackRunAddress,
|
|
68 |
EThread_UserStackSize,
|
|
69 |
EThread_UserContextType,
|
|
70 |
EThread_SavedSupervisorSP,
|
|
71 |
EThread_Priority,
|
|
72 |
EThread_ThreadType,
|
|
73 |
EDebuggerOffset_Reserved12,
|
|
74 |
// process info
|
|
75 |
EProcess_Name,
|
|
76 |
EProcess_Id,
|
|
77 |
EProcess_Attributes,
|
|
78 |
EProcess_CodeSeg,
|
|
79 |
EProcess_DataBssRunAddress,
|
|
80 |
EProcess_DataBssStackChunk,
|
|
81 |
EProcess_ChunkCount,
|
|
82 |
EProcess_Chunks,
|
|
83 |
EDebuggerOffset_Reserved13,
|
|
84 |
EDebuggerOffset_Reserved14,
|
|
85 |
EDebuggerOffset_Reserved15,
|
|
86 |
EDebuggerOffset_Reserved16,
|
|
87 |
// chunkinfo info
|
|
88 |
EChunkInfo_DataSectionBase,
|
|
89 |
EChunkInfo_Chunk,
|
|
90 |
EDebuggerOffset_Reserved36,
|
|
91 |
EDebuggerOffset_Reserved37,
|
|
92 |
// chunk info
|
|
93 |
EChunk_OwningProcess,
|
|
94 |
EChunk_Size,
|
|
95 |
EChunk_Attributes,
|
|
96 |
EChunk_ChunkType,
|
|
97 |
EChunk_ChunkState,
|
|
98 |
EChunk_HomeBase,
|
|
99 |
EDebuggerOffset_Reserved17,
|
|
100 |
EDebuggerOffset_Reserved18,
|
|
101 |
EDebuggerOffset_Reserved19,
|
|
102 |
EDebuggerOffset_Reserved20,
|
|
103 |
// library info
|
|
104 |
ELibrary_MapCount,
|
|
105 |
ELibrary_State,
|
|
106 |
ELibrary_CodeSeg,
|
|
107 |
EDebuggerOffset_Reserved21,
|
|
108 |
EDebuggerOffset_Reserved22,
|
|
109 |
EDebuggerOffset_Reserved23,
|
|
110 |
EDebuggerOffset_Reserved24,
|
|
111 |
// code seg info
|
|
112 |
ECodeSeg_Next,
|
|
113 |
ECodeSeg_Prev,
|
|
114 |
ECodeSeg_Deps,
|
|
115 |
ECodeSeg_DepsCount,
|
|
116 |
ECodeSeg_FileName,
|
|
117 |
ECodeSeg_XIP,
|
|
118 |
ECodeSeg_Info,
|
|
119 |
EDebuggerOffset_Reserved25,
|
|
120 |
EDebuggerOffset_Reserved26,
|
|
121 |
EDebuggerOffset_Reserved27,
|
|
122 |
EDebuggerOffset_Reserved28,
|
|
123 |
// scheduler info
|
|
124 |
EScheduler_KernCSLocked,
|
|
125 |
EScheduler_LockWaiting,
|
|
126 |
EScheduler_CurrentThread,
|
|
127 |
EScheduler_AddressSpace,
|
|
128 |
EDebuggerOffset_Reserved29,
|
|
129 |
EDebuggerOffset_Reserved30,
|
|
130 |
EDebuggerOffset_Reserved31,
|
|
131 |
EDebuggerOffset_Reserved32,
|
|
132 |
// code segment information non-XIP
|
|
133 |
ECodeSegInfoRAM_CodeSize,
|
|
134 |
ECodeSegInfoRAM_TextSize,
|
|
135 |
ECodeSegInfoRAM_DataSize,
|
|
136 |
ECodeSegInfoRAM_BssSize,
|
|
137 |
ECodeSegInfoRAM_CodeRunAddress,
|
|
138 |
ECodeSegInfoRAM_CodeLoadAddress,
|
|
139 |
ECodeSegInfoRAM_DataRunAddr,
|
|
140 |
ECodeSegInfoRAM_DataLoadAddr,
|
|
141 |
ECodeSegInfoRAM_ConstOffset,
|
|
142 |
ECodeSegInfoRAM_ExportDir,
|
|
143 |
ECodeSegInfoRAM_ExportDirCount,
|
|
144 |
EDebuggerOffset_Reserved38,
|
|
145 |
EDebuggerOffset_Reserved39,
|
|
146 |
EDebuggerOffset_Reserved40,
|
|
147 |
EDebuggerOffset_Reserved41,
|
|
148 |
// code segment information XIP
|
|
149 |
ECodeSegInfoXIP_CodeAddress,
|
|
150 |
ECodeSegInfoXIP_DataAddress,
|
|
151 |
ECodeSegInfoXIP_DataRunAddress,
|
|
152 |
ECodeSegInfoXIP_CodeSize,
|
|
153 |
ECodeSegInfoXIP_TextSize,
|
|
154 |
ECodeSegInfoXIP_DataSize,
|
|
155 |
ECodeSegInfoXIP_BssSize,
|
|
156 |
ECodeSegInfoXIP_ExportDir,
|
|
157 |
ECodeSegInfoXIP_ExportDirCount,
|
|
158 |
EDebuggerOffset_Reserved42,
|
|
159 |
EDebuggerOffset_Reserved43,
|
|
160 |
EDebuggerOffset_Reserved44,
|
|
161 |
EDebuggerOffset_Reserved45,
|
|
162 |
// Function Callable Debugger
|
|
163 |
EDebuggerOffset_StopModeExtension,
|
|
164 |
EDebufferOffset_FunctionalityBlock,
|
|
165 |
EDebuggerOffset_Reserved46,
|
|
166 |
EDebuggerOffset_Reserved47,
|
|
167 |
|
|
168 |
// Event filtering information
|
|
169 |
EDebuggerOffset_FilterBuffer,
|
|
170 |
EDebuggerOffset_FilterBufferSize,
|
|
171 |
EDebuggerOffset_FilterBufferInUse,
|
|
172 |
EDebuggerOffset_Reserved48,
|
|
173 |
EDebuggerOffset_Reserved49,
|
|
174 |
|
|
175 |
// more thread info
|
|
176 |
EThread_ExitType,
|
|
177 |
EThread_ExitCategory,
|
|
178 |
EThread_ExitReason,
|
|
179 |
EDebuggerOffset_Reserved50,
|
|
180 |
EDebuggerOffset_Reserved51,
|
|
181 |
|
|
182 |
// end of table
|
|
183 |
/**
|
|
184 |
@deprecated Use DDebuggerInfo::iObjectOffsetTableCount instead.
|
|
185 |
*/
|
|
186 |
EOffsetTableEntryMax
|
|
187 |
};
|
|
188 |
|
|
189 |
/**
|
|
190 |
Stop-mode debugger Offset Table identifiers
|
|
191 |
Identifies memory model deployed on the Target
|
|
192 |
@publishedPartner
|
|
193 |
@released
|
|
194 |
*/
|
|
195 |
enum TMemoryModelType
|
|
196 |
{
|
|
197 |
EARMv5MMU, //AKA moving memory model
|
|
198 |
EARMv6MMU, //AKA multiple memory model
|
|
199 |
};
|
|
200 |
|
|
201 |
/**
|
|
202 |
Stop-mode debugger ARMv5 specific Offset Table identifiers.
|
|
203 |
These enumerations correspond to the members of the
|
|
204 |
moving MMU specific object table defined by the stop-mode debug API.
|
|
205 |
|
|
206 |
@publishedPartner
|
|
207 |
@released
|
|
208 |
*/
|
|
209 |
enum TOffsetMovingTableEntry
|
|
210 |
{
|
|
211 |
EProcessV5_ChunkCount,
|
|
212 |
EProcessV5_Chunks,
|
|
213 |
|
|
214 |
EChunkInfoV5_DataSectionBase,
|
|
215 |
EChunkInfoV5_Chunk,
|
|
216 |
|
|
217 |
EMovingChunkV5_OwningProcess,
|
|
218 |
EChunkV5_ChunkState,
|
|
219 |
EChunkV5_HomeBase,
|
|
220 |
|
|
221 |
EMovingDebuggerOffset_Reserved1,
|
|
222 |
EMovingDebuggerOffset_Reserved2,
|
|
223 |
EMovingDebuggerOffset_Reserved3,
|
|
224 |
EMovingDebuggerOffset_Reserved4
|
|
225 |
};
|
|
226 |
|
|
227 |
/**
|
|
228 |
Stop-mode debugger ARMv6 specific Offset Table identifiers.
|
|
229 |
These enumerations correspond to the members of the
|
|
230 |
multiple MMU specific object table defined by the stop-mode debug API.
|
|
231 |
|
|
232 |
@publishedPartner
|
|
233 |
@released
|
|
234 |
*/
|
|
235 |
enum TOffsetMultipleTableEntry
|
|
236 |
{
|
|
237 |
EProcessARMv6_OsAsid, //used to manipulate MMU
|
|
238 |
EProcessARMv6_iLocalPageDir, //used to manipulate MMU
|
|
239 |
EProcessARMv6_ChunkCount,
|
|
240 |
EProcessARMv6_Chunks,
|
|
241 |
EChunkInfoARMv6_Chunk,
|
|
242 |
EChunkARMv6_OwningProcess,
|
|
243 |
EMultipleDebuggerOffset_Reserved1,
|
|
244 |
EMultipleDebuggerOffset_Reserved2,
|
|
245 |
EMultipleDebuggerOffset_Reserved3,
|
|
246 |
EMultipleDebuggerOffset_Reserved4
|
|
247 |
};
|
|
248 |
#endif //__DEBUG_H__
|