| /** @file | |
| Copyright (c) 2007, Intel Corporation. All rights reserved.<BR> | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #include "Edb.h" | |
| /** | |
| DebuggerCommand - BreakOnCALL. | |
| @param CommandArg The argument for this command | |
| @param DebuggerPrivate EBC Debugger private data structure | |
| @param ExceptionType Exception type. | |
| @param SystemContext EBC system context. | |
| @retval EFI_DEBUG_CONTINUE formal return value | |
| **/ | |
| EFI_DEBUG_STATUS | |
| DebuggerBreakOnCALL ( | |
| IN CHAR16 *CommandArg, | |
| IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, | |
| IN EFI_EXCEPTION_TYPE ExceptionType, | |
| IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
| ) | |
| { | |
| // | |
| // Check argument | |
| // | |
| if (CommandArg == NULL) { | |
| if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOC) == EFI_DEBUG_FLAG_EBC_BOC) { | |
| EDBPrint (L"BOC on\n"); | |
| } else { | |
| EDBPrint (L"BOC off\n"); | |
| } | |
| } else if (StriCmp (CommandArg, L"on") == 0) { | |
| DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOC; | |
| EDBPrint (L"BOC on\n"); | |
| } else if (StriCmp (CommandArg, L"off") == 0) { | |
| DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOC; | |
| EDBPrint (L"BOC off\n"); | |
| } else { | |
| EDBPrint (L"BOC - argument error\n"); | |
| } | |
| // | |
| // Done | |
| // | |
| return EFI_DEBUG_CONTINUE; | |
| } | |
| /** | |
| DebuggerCommand BreakOnCALLEX. | |
| @param CommandArg The argument for this command | |
| @param DebuggerPrivate EBC Debugger private data structure | |
| @param ExceptionType Exceptiont type. | |
| @param SystemContext EBC system context. | |
| @retval EFI_DEBUG_CONTINUE formal return value | |
| **/ | |
| EFI_DEBUG_STATUS | |
| DebuggerBreakOnCALLEX ( | |
| IN CHAR16 *CommandArg, | |
| IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, | |
| IN EFI_EXCEPTION_TYPE ExceptionType, | |
| IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
| ) | |
| { | |
| // | |
| // Check argument | |
| // | |
| if (CommandArg == NULL) { | |
| if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOCX) == EFI_DEBUG_FLAG_EBC_BOCX) { | |
| EDBPrint (L"BOCX on\n"); | |
| } else { | |
| EDBPrint (L"BOCX off\n"); | |
| } | |
| } else if (StriCmp (CommandArg, L"on") == 0) { | |
| DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOCX; | |
| EDBPrint (L"BOCX on\n"); | |
| } else if (StriCmp (CommandArg, L"off") == 0) { | |
| DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOCX; | |
| EDBPrint (L"BOCX off\n"); | |
| } else { | |
| EDBPrint (L"BOCX - argument error\n"); | |
| } | |
| // | |
| // Done | |
| // | |
| return EFI_DEBUG_CONTINUE; | |
| } | |
| /** | |
| DebuggerCommand - BreakOnRET. | |
| @param CommandArg The argument for this command | |
| @param DebuggerPrivate EBC Debugger private data structure | |
| @param ExceptionType Exception type. | |
| @param SystemContext EBC system context. | |
| @retval EFI_DEBUG_CONTINUE formal return value | |
| **/ | |
| EFI_DEBUG_STATUS | |
| DebuggerBreakOnRET ( | |
| IN CHAR16 *CommandArg, | |
| IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, | |
| IN EFI_EXCEPTION_TYPE ExceptionType, | |
| IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
| ) | |
| { | |
| // | |
| // Check argument | |
| // | |
| if (CommandArg == NULL) { | |
| if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOR) == EFI_DEBUG_FLAG_EBC_BOR) { | |
| EDBPrint (L"BOR on\n"); | |
| } else { | |
| EDBPrint (L"BOR off\n"); | |
| } | |
| } else if (StriCmp (CommandArg, L"on") == 0) { | |
| DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOR; | |
| EDBPrint (L"BOR on\n"); | |
| } else if (StriCmp (CommandArg, L"off") == 0) { | |
| DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOR; | |
| EDBPrint (L"BOR off\n"); | |
| } else { | |
| EDBPrint (L"BOR - argument error\n"); | |
| } | |
| // | |
| // Done | |
| // | |
| return EFI_DEBUG_CONTINUE; | |
| } | |
| /** | |
| DebuggerCommand - BreakOnEntrypoint. | |
| @param CommandArg The argument for this command | |
| @param DebuggerPrivate EBC Debugger private data structure | |
| @param ExceptionType Exception type. | |
| @param SystemContext EBC system context. | |
| @retval EFI_DEBUG_CONTINUE formal return value | |
| **/ | |
| EFI_DEBUG_STATUS | |
| DebuggerBreakOnEntrypoint ( | |
| IN CHAR16 *CommandArg, | |
| IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, | |
| IN EFI_EXCEPTION_TYPE ExceptionType, | |
| IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
| ) | |
| { | |
| // | |
| // Check argument | |
| // | |
| if (CommandArg == NULL) { | |
| if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOE) == EFI_DEBUG_FLAG_EBC_BOE) { | |
| EDBPrint (L"BOE on\n"); | |
| } else { | |
| EDBPrint (L"BOE off\n"); | |
| } | |
| } else if (StriCmp (CommandArg, L"on") == 0) { | |
| DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOE; | |
| EDBPrint (L"BOE on\n"); | |
| } else if (StriCmp (CommandArg, L"off") == 0) { | |
| DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOE; | |
| EDBPrint (L"BOE off\n"); | |
| } else { | |
| EDBPrint (L"BOE - argument error\n"); | |
| } | |
| // | |
| // Done | |
| // | |
| return EFI_DEBUG_CONTINUE; | |
| } | |
| /** | |
| DebuggerCommand - BreakOnThunk. | |
| @param CommandArg The argument for this command | |
| @param DebuggerPrivate EBC Debugger private data structure | |
| @param ExceptionType Exception type. | |
| @param SystemContext EBC system context. | |
| @retval EFI_DEBUG_CONTINUE formal return value | |
| **/ | |
| EFI_DEBUG_STATUS | |
| DebuggerBreakOnThunk ( | |
| IN CHAR16 *CommandArg, | |
| IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, | |
| IN EFI_EXCEPTION_TYPE ExceptionType, | |
| IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
| ) | |
| { | |
| // | |
| // Check argument | |
| // | |
| if (CommandArg == NULL) { | |
| if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOT) == EFI_DEBUG_FLAG_EBC_BOT) { | |
| EDBPrint (L"BOT on\n"); | |
| } else { | |
| EDBPrint (L"BOT off\n"); | |
| } | |
| } else if (StriCmp (CommandArg, L"on") == 0) { | |
| DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOT; | |
| EDBPrint (L"BOT on\n"); | |
| } else if (StriCmp (CommandArg, L"off") == 0) { | |
| DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOT; | |
| EDBPrint (L"BOT off\n"); | |
| } else { | |
| EDBPrint (L"BOT - argument error\n"); | |
| } | |
| // | |
| // Done | |
| // | |
| return EFI_DEBUG_CONTINUE; | |
| } | |
| /** | |
| DebuggerCommand - BreakOnKey. | |
| @param CommandArg The argument for this command | |
| @param DebuggerPrivate EBC Debugger private data structure | |
| @param ExceptionType Exception type. | |
| @param SystemContext EBC system context. | |
| @retval EFI_DEBUG_CONTINUE formal return value | |
| **/ | |
| EFI_DEBUG_STATUS | |
| DebuggerBreakOnKey ( | |
| IN CHAR16 *CommandArg, | |
| IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, | |
| IN EFI_EXCEPTION_TYPE ExceptionType, | |
| IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
| ) | |
| { | |
| // | |
| // Check argument | |
| // | |
| if (CommandArg == NULL) { | |
| if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOK) == EFI_DEBUG_FLAG_EBC_BOK) { | |
| EDBPrint (L"BOK on\n"); | |
| } else { | |
| EDBPrint (L"BOK off\n"); | |
| } | |
| } else if (StriCmp (CommandArg, L"on") == 0) { | |
| DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOK; | |
| EDBPrint (L"BOK on\n"); | |
| } else if (StriCmp (CommandArg, L"off") == 0) { | |
| DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOK; | |
| EDBPrint (L"BOK off\n"); | |
| } else { | |
| EDBPrint (L"BOK - argument error\n"); | |
| } | |
| // | |
| // Done | |
| // | |
| return EFI_DEBUG_CONTINUE; | |
| } |