]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreak.c
ShellPkg: Add error prompt message in Ifconfig6 command.
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebugger / EdbCmdBreak.c
CommitLineData
748edcd5
PB
1/*++\r
2\r
3Copyright (c) 2007, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12Module Name:\r
13\r
14 EdbCmdBreak.c\r
15\r
16Abstract:\r
17\r
18\r
19--*/\r
20\r
21#include "Edb.h"\r
22\r
23EFI_DEBUG_STATUS\r
24DebuggerBreakOnCALL (\r
25 IN CHAR16 *CommandArg,\r
26 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
27 IN EFI_EXCEPTION_TYPE ExceptionType,\r
28 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
29 )\r
30/*++\r
31\r
32Routine Description:\r
33\r
34 DebuggerCommand - BreakOnCALL\r
35\r
36Arguments:\r
37\r
38 CommandArg - The argument for this command\r
39 DebuggerPrivate - EBC Debugger private data structure\r
40 InterruptType - Interrupt type.\r
41 SystemContext - EBC system context.\r
42\r
43Returns:\r
44\r
45 EFI_DEBUG_CONTINUE - formal return value\r
46\r
47--*/\r
48{\r
49 //\r
50 // Check argument\r
51 //\r
52 if (CommandArg == NULL) {\r
53 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOC) == EFI_DEBUG_FLAG_EBC_BOC) {\r
54 EDBPrint (L"BOC on\n");\r
55 } else {\r
56 EDBPrint (L"BOC off\n");\r
57 }\r
58 } else if (StriCmp (CommandArg, L"on") == 0) {\r
59 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOC;\r
60 EDBPrint (L"BOC on\n");\r
61 } else if (StriCmp (CommandArg, L"off") == 0) {\r
62 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOC;\r
63 EDBPrint (L"BOC off\n");\r
64 } else {\r
65 EDBPrint (L"BOC - argument error\n");\r
66 }\r
67\r
68 //\r
69 // Done\r
70 //\r
71 return EFI_DEBUG_CONTINUE;\r
72}\r
73\r
74EFI_DEBUG_STATUS\r
75DebuggerBreakOnCALLEX (\r
76 IN CHAR16 *CommandArg,\r
77 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
78 IN EFI_EXCEPTION_TYPE ExceptionType,\r
79 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
80 )\r
81/*++\r
82\r
83Routine Description:\r
84\r
85 DebuggerCommand - BreakOnCALLEX\r
86\r
87Arguments:\r
88\r
89 CommandArg - The argument for this command\r
90 DebuggerPrivate - EBC Debugger private data structure\r
91 InterruptType - Interrupt type.\r
92 SystemContext - EBC system context.\r
93\r
94Returns:\r
95\r
96 EFI_DEBUG_CONTINUE - formal return value\r
97\r
98--*/\r
99{\r
100 //\r
101 // Check argument\r
102 //\r
103 if (CommandArg == NULL) {\r
104 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOCX) == EFI_DEBUG_FLAG_EBC_BOCX) {\r
105 EDBPrint (L"BOCX on\n");\r
106 } else {\r
107 EDBPrint (L"BOCX off\n");\r
108 }\r
109 } else if (StriCmp (CommandArg, L"on") == 0) {\r
110 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOCX;\r
111 EDBPrint (L"BOCX on\n");\r
112 } else if (StriCmp (CommandArg, L"off") == 0) {\r
113 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOCX;\r
114 EDBPrint (L"BOCX off\n");\r
115 } else {\r
116 EDBPrint (L"BOCX - argument error\n");\r
117 }\r
118\r
119 //\r
120 // Done\r
121 //\r
122 return EFI_DEBUG_CONTINUE;\r
123}\r
124\r
125EFI_DEBUG_STATUS\r
126DebuggerBreakOnRET (\r
127 IN CHAR16 *CommandArg,\r
128 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
129 IN EFI_EXCEPTION_TYPE ExceptionType,\r
130 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
131 )\r
132/*++\r
133\r
134Routine Description:\r
135\r
136 DebuggerCommand - BreakOnRET\r
137\r
138Arguments:\r
139\r
140 CommandArg - The argument for this command\r
141 DebuggerPrivate - EBC Debugger private data structure\r
142 InterruptType - Interrupt type.\r
143 SystemContext - EBC system context.\r
144\r
145Returns:\r
146\r
147 EFI_DEBUG_CONTINUE - formal return value\r
148\r
149--*/\r
150{\r
151 //\r
152 // Check argument\r
153 //\r
154 if (CommandArg == NULL) {\r
155 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOR) == EFI_DEBUG_FLAG_EBC_BOR) {\r
156 EDBPrint (L"BOR on\n");\r
157 } else {\r
158 EDBPrint (L"BOR off\n");\r
159 }\r
160 } else if (StriCmp (CommandArg, L"on") == 0) {\r
161 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOR;\r
162 EDBPrint (L"BOR on\n");\r
163 } else if (StriCmp (CommandArg, L"off") == 0) {\r
164 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOR;\r
165 EDBPrint (L"BOR off\n");\r
166 } else {\r
167 EDBPrint (L"BOR - argument error\n");\r
168 }\r
169\r
170 //\r
171 // Done\r
172 //\r
173 return EFI_DEBUG_CONTINUE;\r
174}\r
175\r
176EFI_DEBUG_STATUS\r
177DebuggerBreakOnEntrypoint (\r
178 IN CHAR16 *CommandArg,\r
179 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
180 IN EFI_EXCEPTION_TYPE ExceptionType,\r
181 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
182 )\r
183/*++\r
184\r
185Routine Description:\r
186\r
187 DebuggerCommand - BreakOnEntrypoint\r
188\r
189Arguments:\r
190\r
191 CommandArg - The argument for this command\r
192 DebuggerPrivate - EBC Debugger private data structure\r
193 InterruptType - Interrupt type.\r
194 SystemContext - EBC system context.\r
195\r
196Returns:\r
197\r
198 EFI_DEBUG_CONTINUE - formal return value\r
199\r
200--*/\r
201{\r
202 //\r
203 // Check argument\r
204 //\r
205 if (CommandArg == NULL) {\r
206 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOE) == EFI_DEBUG_FLAG_EBC_BOE) {\r
207 EDBPrint (L"BOE on\n");\r
208 } else {\r
209 EDBPrint (L"BOE off\n");\r
210 }\r
211 } else if (StriCmp (CommandArg, L"on") == 0) {\r
212 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOE;\r
213 EDBPrint (L"BOE on\n");\r
214 } else if (StriCmp (CommandArg, L"off") == 0) {\r
215 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOE;\r
216 EDBPrint (L"BOE off\n");\r
217 } else {\r
218 EDBPrint (L"BOE - argument error\n");\r
219 }\r
220\r
221 //\r
222 // Done\r
223 //\r
224 return EFI_DEBUG_CONTINUE;\r
225}\r
226\r
227EFI_DEBUG_STATUS\r
228DebuggerBreakOnThunk (\r
229 IN CHAR16 *CommandArg,\r
230 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
231 IN EFI_EXCEPTION_TYPE ExceptionType,\r
232 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
233 )\r
234/*++\r
235\r
236Routine Description:\r
237\r
238 DebuggerCommand - BreakOnThunk\r
239\r
240Arguments:\r
241\r
242 CommandArg - The argument for this command\r
243 DebuggerPrivate - EBC Debugger private data structure\r
244 InterruptType - Interrupt type.\r
245 SystemContext - EBC system context.\r
246\r
247Returns:\r
248\r
249 EFI_DEBUG_CONTINUE - formal return value\r
250\r
251--*/\r
252{\r
253 //\r
254 // Check argument\r
255 //\r
256 if (CommandArg == NULL) {\r
257 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOT) == EFI_DEBUG_FLAG_EBC_BOT) {\r
258 EDBPrint (L"BOT on\n");\r
259 } else {\r
260 EDBPrint (L"BOT off\n");\r
261 }\r
262 } else if (StriCmp (CommandArg, L"on") == 0) {\r
263 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOT;\r
264 EDBPrint (L"BOT on\n");\r
265 } else if (StriCmp (CommandArg, L"off") == 0) {\r
266 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOT;\r
267 EDBPrint (L"BOT off\n");\r
268 } else {\r
269 EDBPrint (L"BOT - argument error\n");\r
270 }\r
271\r
272 //\r
273 // Done\r
274 //\r
275 return EFI_DEBUG_CONTINUE;\r
276}\r
277\r
278EFI_DEBUG_STATUS\r
279DebuggerBreakOnKey (\r
280 IN CHAR16 *CommandArg,\r
281 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
282 IN EFI_EXCEPTION_TYPE ExceptionType,\r
283 IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
284 )\r
285/*++\r
286\r
287Routine Description:\r
288\r
289 DebuggerCommand - BreakOnKey\r
290\r
291Arguments:\r
292\r
293 CommandArg - The argument for this command\r
294 DebuggerPrivate - EBC Debugger private data structure\r
295 InterruptType - Interrupt type.\r
296 SystemContext - EBC system context.\r
297\r
298Returns:\r
299\r
300 EFI_DEBUG_CONTINUE - formal return value\r
301\r
302--*/\r
303{\r
304 //\r
305 // Check argument\r
306 //\r
307 if (CommandArg == NULL) {\r
308 if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOK) == EFI_DEBUG_FLAG_EBC_BOK) {\r
309 EDBPrint (L"BOK on\n");\r
310 } else {\r
311 EDBPrint (L"BOK off\n");\r
312 }\r
313 } else if (StriCmp (CommandArg, L"on") == 0) {\r
314 DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOK;\r
315 EDBPrint (L"BOK on\n");\r
316 } else if (StriCmp (CommandArg, L"off") == 0) {\r
317 DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOK;\r
318 EDBPrint (L"BOK off\n");\r
319 } else {\r
320 EDBPrint (L"BOK - argument error\n");\r
321 }\r
322\r
323 //\r
324 // Done\r
325 //\r
326 return EFI_DEBUG_CONTINUE;\r
327}\r