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