]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreak.c
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebugger / EdbCmdBreak.c
CommitLineData
e8a5ac7c 1/** @file\r
748edcd5 2\r
e8a5ac7c 3Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
9d510e61 4SPDX-License-Identifier: BSD-2-Clause-Patent\r
748edcd5 5\r
748edcd5 6\r
e8a5ac7c 7**/\r
748edcd5 8\r
e8a5ac7c 9#include "Edb.h"\r
748edcd5
PB
10\r
11\r
e8a5ac7c 12/**\r
748edcd5 13\r
e8a5ac7c
DB
14 DebuggerCommand - BreakOnCALL.\r
15\r
16 @param CommandArg The argument for this command\r
17 @param DebuggerPrivate EBC Debugger private data structure\r
18 @param ExceptionType Exception type.\r
19 @param SystemContext EBC system context.\r
748edcd5 20\r
e8a5ac7c
DB
21 @retval EFI_DEBUG_CONTINUE formal return value\r
22\r
23**/\r
748edcd5
PB
24EFI_DEBUG_STATUS\r
25DebuggerBreakOnCALL (\r
26 IN CHAR16 *CommandArg,\r
27 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
28 IN EFI_EXCEPTION_TYPE ExceptionType,\r
29 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
30 )\r
748edcd5
PB
31{\r
32 //\r
33 // Check argument\r
34 //\r
35 if (CommandArg == NULL) {\r
36 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOC) == EFI_DEBUG_FLAG_EBC_BOC) {\r
37 EDBPrint (L"BOC on\n");\r
38 } else {\r
39 EDBPrint (L"BOC off\n");\r
40 }\r
41 } else if (StriCmp (CommandArg, L"on") == 0) {\r
42 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOC;\r
43 EDBPrint (L"BOC on\n");\r
44 } else if (StriCmp (CommandArg, L"off") == 0) {\r
45 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOC;\r
46 EDBPrint (L"BOC off\n");\r
47 } else {\r
48 EDBPrint (L"BOC - argument error\n");\r
49 }\r
50\r
51 //\r
52 // Done\r
53 //\r
54 return EFI_DEBUG_CONTINUE;\r
55}\r
56\r
e8a5ac7c
DB
57/**\r
58\r
59 DebuggerCommand BreakOnCALLEX.\r
60\r
61\r
62 @param CommandArg The argument for this command\r
63 @param DebuggerPrivate EBC Debugger private data structure\r
64 @param ExceptionType Exceptiont type.\r
65 @param SystemContext EBC system context.\r
66\r
67 @retval EFI_DEBUG_CONTINUE formal return value\r
68\r
69**/\r
748edcd5
PB
70EFI_DEBUG_STATUS\r
71DebuggerBreakOnCALLEX (\r
72 IN CHAR16 *CommandArg,\r
73 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
74 IN EFI_EXCEPTION_TYPE ExceptionType,\r
75 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
76 )\r
748edcd5
PB
77{\r
78 //\r
79 // Check argument\r
80 //\r
81 if (CommandArg == NULL) {\r
82 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOCX) == EFI_DEBUG_FLAG_EBC_BOCX) {\r
83 EDBPrint (L"BOCX on\n");\r
84 } else {\r
85 EDBPrint (L"BOCX off\n");\r
86 }\r
87 } else if (StriCmp (CommandArg, L"on") == 0) {\r
88 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOCX;\r
89 EDBPrint (L"BOCX on\n");\r
90 } else if (StriCmp (CommandArg, L"off") == 0) {\r
91 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOCX;\r
92 EDBPrint (L"BOCX off\n");\r
93 } else {\r
94 EDBPrint (L"BOCX - argument error\n");\r
95 }\r
96\r
97 //\r
98 // Done\r
99 //\r
100 return EFI_DEBUG_CONTINUE;\r
101}\r
102\r
e8a5ac7c
DB
103/**\r
104\r
105 DebuggerCommand - BreakOnRET.\r
106\r
107\r
108 @param CommandArg The argument for this command\r
109 @param DebuggerPrivate EBC Debugger private data structure\r
110 @param ExceptionType Exception type.\r
111 @param SystemContext EBC system context.\r
112\r
113 @retval EFI_DEBUG_CONTINUE formal return value\r
114\r
115**/\r
748edcd5
PB
116EFI_DEBUG_STATUS\r
117DebuggerBreakOnRET (\r
118 IN CHAR16 *CommandArg,\r
119 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
120 IN EFI_EXCEPTION_TYPE ExceptionType,\r
121 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
122 )\r
748edcd5
PB
123{\r
124 //\r
125 // Check argument\r
126 //\r
127 if (CommandArg == NULL) {\r
128 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOR) == EFI_DEBUG_FLAG_EBC_BOR) {\r
129 EDBPrint (L"BOR on\n");\r
130 } else {\r
131 EDBPrint (L"BOR off\n");\r
132 }\r
133 } else if (StriCmp (CommandArg, L"on") == 0) {\r
134 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOR;\r
135 EDBPrint (L"BOR on\n");\r
136 } else if (StriCmp (CommandArg, L"off") == 0) {\r
137 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOR;\r
138 EDBPrint (L"BOR off\n");\r
139 } else {\r
140 EDBPrint (L"BOR - argument error\n");\r
141 }\r
142\r
143 //\r
144 // Done\r
145 //\r
146 return EFI_DEBUG_CONTINUE;\r
147}\r
148\r
e8a5ac7c
DB
149/**\r
150\r
151 DebuggerCommand - BreakOnEntrypoint.\r
152\r
153\r
154 @param CommandArg The argument for this command\r
155 @param DebuggerPrivate EBC Debugger private data structure\r
156 @param ExceptionType Exception type.\r
157 @param SystemContext EBC system context.\r
158\r
159 @retval EFI_DEBUG_CONTINUE formal return value\r
160\r
161**/\r
748edcd5
PB
162EFI_DEBUG_STATUS\r
163DebuggerBreakOnEntrypoint (\r
164 IN CHAR16 *CommandArg,\r
165 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
166 IN EFI_EXCEPTION_TYPE ExceptionType,\r
167 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
168 )\r
748edcd5
PB
169{\r
170 //\r
171 // Check argument\r
172 //\r
173 if (CommandArg == NULL) {\r
174 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOE) == EFI_DEBUG_FLAG_EBC_BOE) {\r
175 EDBPrint (L"BOE on\n");\r
176 } else {\r
177 EDBPrint (L"BOE off\n");\r
178 }\r
179 } else if (StriCmp (CommandArg, L"on") == 0) {\r
180 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOE;\r
181 EDBPrint (L"BOE on\n");\r
182 } else if (StriCmp (CommandArg, L"off") == 0) {\r
183 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOE;\r
184 EDBPrint (L"BOE off\n");\r
185 } else {\r
186 EDBPrint (L"BOE - argument error\n");\r
187 }\r
188\r
189 //\r
190 // Done\r
191 //\r
192 return EFI_DEBUG_CONTINUE;\r
193}\r
194\r
e8a5ac7c 195/**\r
748edcd5 196\r
748edcd5 197\r
e8a5ac7c 198 DebuggerCommand - BreakOnThunk.\r
748edcd5 199\r
748edcd5 200\r
e8a5ac7c
DB
201 @param CommandArg The argument for this command\r
202 @param DebuggerPrivate EBC Debugger private data structure\r
203 @param ExceptionType Exception type.\r
204 @param SystemContext EBC system context.\r
748edcd5 205\r
748edcd5 206\r
e8a5ac7c 207 @retval EFI_DEBUG_CONTINUE formal return value\r
748edcd5 208\r
e8a5ac7c
DB
209**/\r
210EFI_DEBUG_STATUS\r
211DebuggerBreakOnThunk (\r
212 IN CHAR16 *CommandArg,\r
213 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
214 IN EFI_EXCEPTION_TYPE ExceptionType,\r
215 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
216 )\r
748edcd5
PB
217{\r
218 //\r
219 // Check argument\r
220 //\r
221 if (CommandArg == NULL) {\r
222 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOT) == EFI_DEBUG_FLAG_EBC_BOT) {\r
223 EDBPrint (L"BOT on\n");\r
224 } else {\r
225 EDBPrint (L"BOT off\n");\r
226 }\r
227 } else if (StriCmp (CommandArg, L"on") == 0) {\r
228 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOT;\r
229 EDBPrint (L"BOT on\n");\r
230 } else if (StriCmp (CommandArg, L"off") == 0) {\r
231 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOT;\r
232 EDBPrint (L"BOT off\n");\r
233 } else {\r
234 EDBPrint (L"BOT - argument error\n");\r
235 }\r
236\r
237 //\r
238 // Done\r
239 //\r
240 return EFI_DEBUG_CONTINUE;\r
241}\r
242\r
e8a5ac7c
DB
243/**\r
244\r
245 DebuggerCommand - BreakOnKey.\r
246\r
247\r
248 @param CommandArg The argument for this command\r
249 @param DebuggerPrivate EBC Debugger private data structure\r
250 @param ExceptionType Exception type.\r
251 @param SystemContext EBC system context.\r
252\r
253\r
254 @retval EFI_DEBUG_CONTINUE formal return value\r
255\r
256**/\r
748edcd5
PB
257EFI_DEBUG_STATUS\r
258DebuggerBreakOnKey (\r
259 IN CHAR16 *CommandArg,\r
260 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
261 IN EFI_EXCEPTION_TYPE ExceptionType,\r
262 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
263 )\r
748edcd5
PB
264{\r
265 //\r
266 // Check argument\r
267 //\r
268 if (CommandArg == NULL) {\r
269 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOK) == EFI_DEBUG_FLAG_EBC_BOK) {\r
270 EDBPrint (L"BOK on\n");\r
271 } else {\r
272 EDBPrint (L"BOK off\n");\r
273 }\r
274 } else if (StriCmp (CommandArg, L"on") == 0) {\r
275 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOK;\r
276 EDBPrint (L"BOK on\n");\r
277 } else if (StriCmp (CommandArg, L"off") == 0) {\r
278 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOK;\r
279 EDBPrint (L"BOK off\n");\r
280 } else {\r
281 EDBPrint (L"BOK - argument error\n");\r
282 }\r
283\r
284 //\r
285 // Done\r
286 //\r
287 return EFI_DEBUG_CONTINUE;\r
288}\r