diff options
Diffstat (limited to 'MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c')
| -rw-r--r-- | MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c | 502 |
1 files changed, 251 insertions, 251 deletions
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c index 98ddf8c668..84695ce693 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c @@ -1,251 +1,251 @@ -/** @file
- Configuration application for the EBC Debugger.
-
- Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Uefi.h>
-#include <Protocol/ShellParameters.h>
-
-#include "EdbCommon.h"
-#include "EdbSupport.h"
-
-/**
-
- The function that displays the utility usage message.
-
-**/
-VOID
-PrintUsage (
- VOID
- )
-{
- Print (
- L"EbcDebuggerConfig Version 1.0\n"
- L"Copyright (C) Intel Corp 2007-2016. All rights reserved.\n"
- L"\n"
- L"Configure EbcDebugger in EFI Shell Environment.\n"
- L"\n"
- L"usage: EdbCfg <Command>\n"
- L" CommandList:\n"
- L" BO[C|CX|R|E|T|K] <ON|OFF> - Enable/Disable BOC/BOCX/BOR/BOE/BOT/BOK.\n"
- // L" SHOWINFO - Show Debugger Information.\n"
- L"\n"
- );
- return;
-}
-
-/**
-
- The function is to show some information.
-
- @param DebuggerConfiguration Point to the EFI_DEBUGGER_CONFIGURATION_PROTOCOL.
-
-**/
-VOID
-EdbShowInfo (
- EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration
- )
-{
- Print (L"Not supported!\n");
- return;
-}
-
-/**
-
- EdbConfigBreak function.
-
- @param DebuggerConfiguration Point to the EFI_DEBUGGER_CONFIGURATION_PROTOCOL.
- @param Command Point to the command.
- @param CommandArg The argument for this command.
-
-**/
-VOID
-EdbConfigBreak (
- EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration,
- CHAR16 *Command,
- CHAR16 *CommandArg
- )
-{
- EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate;
-
- DebuggerPrivate = (EFI_DEBUGGER_PRIVATE_DATA *)DebuggerConfiguration->DebuggerPrivateData;
-
- if (StriCmp (Command, L"BOC") == 0) {
- if (CommandArg == NULL) {
- if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOC) == EFI_DEBUG_FLAG_EBC_BOC) {
- Print (L"BOC on\n");
- } else {
- Print (L"BOC off\n");
- }
- } else if (StriCmp (CommandArg, L"ON") == 0) {
- DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOC;
- } else if (StriCmp (CommandArg, L"OFF") == 0) {
- DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOC;
- } else {
- Print (L"Invalid parameter\n");
- }
- } else if (StriCmp (Command, L"BOCX") == 0) {
- if (CommandArg == NULL) {
- if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOCX) == EFI_DEBUG_FLAG_EBC_BOCX) {
- Print (L"BOCX on\n");
- } else {
- Print (L"BOCX off\n");
- }
- } else if (StriCmp (CommandArg, L"ON") == 0) {
- DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOCX;
- } else if (StriCmp (CommandArg, L"OFF") == 0) {
- DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOCX;
- } else {
- Print (L"Invalid parameter\n");
- }
- } else if (StriCmp (Command, L"BOR") == 0) {
- if (CommandArg == NULL) {
- if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOR) == EFI_DEBUG_FLAG_EBC_BOR) {
- Print (L"BOR on\n");
- } else {
- Print (L"BOR off\n");
- }
- } else if (StriCmp (CommandArg, L"ON") == 0) {
- DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOR;
- } else if (StriCmp (CommandArg, L"OFF") == 0) {
- DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOR;
- } else {
- Print (L"Invalid parameter\n");
- }
- } else if (StriCmp (Command, L"BOE") == 0) {
- if (CommandArg == NULL) {
- if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOE) == EFI_DEBUG_FLAG_EBC_BOE) {
- Print (L"BOE on\n");
- } else {
- Print (L"BOE off\n");
- }
- } else if (StriCmp (CommandArg, L"ON") == 0) {
- DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOE;
- } else if (StriCmp (CommandArg, L"OFF") == 0) {
- DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOE;
- } else {
- Print (L"Invalid parameter\n");
- }
- } else if (StriCmp (Command, L"BOT") == 0) {
- if (CommandArg == NULL) {
- if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOT) == EFI_DEBUG_FLAG_EBC_BOT) {
- Print (L"BOT on\n");
- } else {
- Print (L"BOT off\n");
- }
- } else if (StriCmp (CommandArg, L"ON") == 0) {
- DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOT;
- } else if (StriCmp (CommandArg, L"OFF") == 0) {
- DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOT;
- } else {
- Print (L"Invalid parameter\n");
- }
- } else if (StriCmp (Command, L"BOK") == 0) {
- if (CommandArg == NULL) {
- if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOK) == EFI_DEBUG_FLAG_EBC_BOK) {
- Print (L"BOK on\n");
- } else {
- Print (L"BOK off\n");
- }
- } else if (StriCmp (CommandArg, L"ON") == 0) {
- DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOK;
- } else if (StriCmp (CommandArg, L"OFF") == 0) {
- DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOK;
- } else {
- Print (L"Invalid parameter\n");
- }
- }
-
- return;
-}
-
-/**
- Alter the EBC Debugger configuration.
-
- @param[in] ImageHandle The image handle.
- @param[in] SystemTable The system table.
-
- @retval EFI_SUCCESS Operation completed successfully.
- @retval EFI_INVALID_PARAMETER Usage error.
- @retval EFI_NOT_FOUND A running debugger cannot be located.
-**/
-EFI_STATUS
-EFIAPI
-InitializeEbcDebuggerConfig (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- UINTN Argc;
- CHAR16 **Argv;
- EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters;
- EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration;
- EFI_STATUS Status;
-
- Status = gBS->HandleProtocol (
- gImageHandle,
- &gEfiShellParametersProtocolGuid,
- (VOID **)&ShellParameters
- );
- if (EFI_ERROR (Status)) {
- Print (L"Please use UEFI Shell to run this application.\n");
- return EFI_INVALID_PARAMETER;
- }
-
- Argc = ShellParameters->Argc;
- Argv = ShellParameters->Argv;
-
- if (Argc < 2) {
- PrintUsage ();
- return EFI_INVALID_PARAMETER;
- }
-
- if (Argc == 2) {
- if ((StrCmp (Argv[1], L"/?") == 0) ||
- (StrCmp (Argv[1], L"-?") == 0) ||
- (StrCmp (Argv[1], L"-h") == 0) ||
- (StrCmp (Argv[1], L"-H") == 0))
- {
- PrintUsage ();
- return EFI_SUCCESS;
- }
- }
-
- Status = gBS->LocateProtocol (
- &gEfiDebuggerConfigurationProtocolGuid,
- NULL,
- (VOID **)&DebuggerConfiguration
- );
- if (EFI_ERROR (Status)) {
- Print (L"Error: DebuggerConfiguration protocol not found.\n");
- return EFI_NOT_FOUND;
- }
-
- if (StriCmp (Argv[1], L"SHOWINFO") == 0) {
- EdbShowInfo (DebuggerConfiguration);
- return EFI_SUCCESS;
- }
-
- if (((Argc == 2) || (Argc == 3)) &&
- ((StriCmp (Argv[1], L"BOC") == 0) ||
- (StriCmp (Argv[1], L"BOCX") == 0) ||
- (StriCmp (Argv[1], L"BOR") == 0) ||
- (StriCmp (Argv[1], L"BOE") == 0) ||
- (StriCmp (Argv[1], L"BOT") == 0) ||
- (StriCmp (Argv[1], L"BOK") == 0)))
- {
- if (Argc == 3) {
- EdbConfigBreak (DebuggerConfiguration, Argv[1], Argv[2]);
- } else {
- EdbConfigBreak (DebuggerConfiguration, Argv[1], NULL);
- }
-
- return EFI_SUCCESS;
- }
-
- Print (L"Error: Invalid Command.\n");
- return EFI_INVALID_PARAMETER;
-}
+/** @file + Configuration application for the EBC Debugger. + + Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Uefi.h> +#include <Protocol/ShellParameters.h> + +#include "EdbCommon.h" +#include "EdbSupport.h" + +/** + + The function that displays the utility usage message. + +**/ +VOID +PrintUsage ( + VOID + ) +{ + Print ( + L"EbcDebuggerConfig Version 1.0\n" + L"Copyright (C) Intel Corp 2007-2016. All rights reserved.\n" + L"\n" + L"Configure EbcDebugger in EFI Shell Environment.\n" + L"\n" + L"usage: EdbCfg <Command>\n" + L" CommandList:\n" + L" BO[C|CX|R|E|T|K] <ON|OFF> - Enable/Disable BOC/BOCX/BOR/BOE/BOT/BOK.\n" + // L" SHOWINFO - Show Debugger Information.\n" + L"\n" + ); + return; +} + +/** + + The function is to show some information. + + @param DebuggerConfiguration Point to the EFI_DEBUGGER_CONFIGURATION_PROTOCOL. + +**/ +VOID +EdbShowInfo ( + EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration + ) +{ + Print (L"Not supported!\n"); + return; +} + +/** + + EdbConfigBreak function. + + @param DebuggerConfiguration Point to the EFI_DEBUGGER_CONFIGURATION_PROTOCOL. + @param Command Point to the command. + @param CommandArg The argument for this command. + +**/ +VOID +EdbConfigBreak ( + EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration, + CHAR16 *Command, + CHAR16 *CommandArg + ) +{ + EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate; + + DebuggerPrivate = (EFI_DEBUGGER_PRIVATE_DATA *)DebuggerConfiguration->DebuggerPrivateData; + + if (StriCmp (Command, L"BOC") == 0) { + if (CommandArg == NULL) { + if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOC) == EFI_DEBUG_FLAG_EBC_BOC) { + Print (L"BOC on\n"); + } else { + Print (L"BOC off\n"); + } + } else if (StriCmp (CommandArg, L"ON") == 0) { + DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOC; + } else if (StriCmp (CommandArg, L"OFF") == 0) { + DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOC; + } else { + Print (L"Invalid parameter\n"); + } + } else if (StriCmp (Command, L"BOCX") == 0) { + if (CommandArg == NULL) { + if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOCX) == EFI_DEBUG_FLAG_EBC_BOCX) { + Print (L"BOCX on\n"); + } else { + Print (L"BOCX off\n"); + } + } else if (StriCmp (CommandArg, L"ON") == 0) { + DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOCX; + } else if (StriCmp (CommandArg, L"OFF") == 0) { + DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOCX; + } else { + Print (L"Invalid parameter\n"); + } + } else if (StriCmp (Command, L"BOR") == 0) { + if (CommandArg == NULL) { + if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOR) == EFI_DEBUG_FLAG_EBC_BOR) { + Print (L"BOR on\n"); + } else { + Print (L"BOR off\n"); + } + } else if (StriCmp (CommandArg, L"ON") == 0) { + DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOR; + } else if (StriCmp (CommandArg, L"OFF") == 0) { + DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOR; + } else { + Print (L"Invalid parameter\n"); + } + } else if (StriCmp (Command, L"BOE") == 0) { + if (CommandArg == NULL) { + if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOE) == EFI_DEBUG_FLAG_EBC_BOE) { + Print (L"BOE on\n"); + } else { + Print (L"BOE off\n"); + } + } else if (StriCmp (CommandArg, L"ON") == 0) { + DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOE; + } else if (StriCmp (CommandArg, L"OFF") == 0) { + DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOE; + } else { + Print (L"Invalid parameter\n"); + } + } else if (StriCmp (Command, L"BOT") == 0) { + if (CommandArg == NULL) { + if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOT) == EFI_DEBUG_FLAG_EBC_BOT) { + Print (L"BOT on\n"); + } else { + Print (L"BOT off\n"); + } + } else if (StriCmp (CommandArg, L"ON") == 0) { + DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOT; + } else if (StriCmp (CommandArg, L"OFF") == 0) { + DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOT; + } else { + Print (L"Invalid parameter\n"); + } + } else if (StriCmp (Command, L"BOK") == 0) { + if (CommandArg == NULL) { + if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOK) == EFI_DEBUG_FLAG_EBC_BOK) { + Print (L"BOK on\n"); + } else { + Print (L"BOK off\n"); + } + } else if (StriCmp (CommandArg, L"ON") == 0) { + DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOK; + } else if (StriCmp (CommandArg, L"OFF") == 0) { + DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOK; + } else { + Print (L"Invalid parameter\n"); + } + } + + return; +} + +/** + Alter the EBC Debugger configuration. + + @param[in] ImageHandle The image handle. + @param[in] SystemTable The system table. + + @retval EFI_SUCCESS Operation completed successfully. + @retval EFI_INVALID_PARAMETER Usage error. + @retval EFI_NOT_FOUND A running debugger cannot be located. +**/ +EFI_STATUS +EFIAPI +InitializeEbcDebuggerConfig ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + UINTN Argc; + CHAR16 **Argv; + EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters; + EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration; + EFI_STATUS Status; + + Status = gBS->HandleProtocol ( + gImageHandle, + &gEfiShellParametersProtocolGuid, + (VOID **)&ShellParameters + ); + if (EFI_ERROR (Status)) { + Print (L"Please use UEFI Shell to run this application.\n"); + return EFI_INVALID_PARAMETER; + } + + Argc = ShellParameters->Argc; + Argv = ShellParameters->Argv; + + if (Argc < 2) { + PrintUsage (); + return EFI_INVALID_PARAMETER; + } + + if (Argc == 2) { + if ((StrCmp (Argv[1], L"/?") == 0) || + (StrCmp (Argv[1], L"-?") == 0) || + (StrCmp (Argv[1], L"-h") == 0) || + (StrCmp (Argv[1], L"-H") == 0)) + { + PrintUsage (); + return EFI_SUCCESS; + } + } + + Status = gBS->LocateProtocol ( + &gEfiDebuggerConfigurationProtocolGuid, + NULL, + (VOID **)&DebuggerConfiguration + ); + if (EFI_ERROR (Status)) { + Print (L"Error: DebuggerConfiguration protocol not found.\n"); + return EFI_NOT_FOUND; + } + + if (StriCmp (Argv[1], L"SHOWINFO") == 0) { + EdbShowInfo (DebuggerConfiguration); + return EFI_SUCCESS; + } + + if (((Argc == 2) || (Argc == 3)) && + ((StriCmp (Argv[1], L"BOC") == 0) || + (StriCmp (Argv[1], L"BOCX") == 0) || + (StriCmp (Argv[1], L"BOR") == 0) || + (StriCmp (Argv[1], L"BOE") == 0) || + (StriCmp (Argv[1], L"BOT") == 0) || + (StriCmp (Argv[1], L"BOK") == 0))) + { + if (Argc == 3) { + EdbConfigBreak (DebuggerConfiguration, Argv[1], Argv[2]); + } else { + EdbConfigBreak (DebuggerConfiguration, Argv[1], NULL); + } + + return EFI_SUCCESS; + } + + Print (L"Error: Invalid Command.\n"); + return EFI_INVALID_PARAMETER; +} |
