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