* [PATCH v3 0/1] MdeModulePkg/EbcDxe: add EBC Debugger configuration application @ 2016-11-24 17:00 Pete Batard 2016-11-24 17:00 ` [PATCH v3 1/1] " Pete Batard 0 siblings, 1 reply; 3+ messages in thread From: Pete Batard @ 2016-11-24 17:00 UTC (permalink / raw) To: edk2-devel; +Cc: Jiewen Yao, Pete Batard This version returns EFI_STATUS codes and removes the AppPkg reference. Compilation was tested on IA32, X64 (VS2015) and AARCH64 (gcc 6.2.1). Cc: Jiewen Yao <jiewen.yao@intel.com> Pete Batard (1): MdeModulePkg/EbcDxe: add EBC Debugger configuration application .../Include/Protocol/DebuggerConfiguration.h | 32 +++ MdeModulePkg/MdeModulePkg.dec | 4 + MdeModulePkg/MdeModulePkg.dsc | 1 + MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 1 + .../EbcDxe/EbcDebugger/EbcDebuggerConfig.c | 232 +++++++++++++++++++++ MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c | 4 + .../Universal/EbcDxe/EbcDebugger/EdbCommon.h | 3 + .../Universal/EbcDxe/EbcDebugger/EdbHook.c | 11 + .../Universal/EbcDxe/EbcDebuggerConfig.inf | 55 +++++ .../Universal/EbcDxe/EbcDebuggerConfig.uni | 18 ++ .../Universal/EbcDxe/EbcDebuggerConfigExtra.uni | 17 ++ 11 files changed, 378 insertions(+) create mode 100644 MdeModulePkg/Include/Protocol/DebuggerConfiguration.h create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni -- 2.9.3.windows.2 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3 1/1] MdeModulePkg/EbcDxe: add EBC Debugger configuration application 2016-11-24 17:00 [PATCH v3 0/1] MdeModulePkg/EbcDxe: add EBC Debugger configuration application Pete Batard @ 2016-11-24 17:00 ` Pete Batard 2016-11-25 23:36 ` Yao, Jiewen 0 siblings, 1 reply; 3+ messages in thread From: Pete Batard @ 2016-11-24 17:00 UTC (permalink / raw) To: edk2-devel; +Cc: Jiewen Yao, Pete Batard * Introduce a generic Debugger Configuration protocol. * Add private configuration data in the EBC Debugger and make it register the Debugger Configuration protocol on initialization. * Add a shell application that uses the protocol above to access the private data in order to configure the EBC debugger. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Pete Batard <pete@akeo.ie> --- .../Include/Protocol/DebuggerConfiguration.h | 32 +++ MdeModulePkg/MdeModulePkg.dec | 4 + MdeModulePkg/MdeModulePkg.dsc | 1 + MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 1 + .../EbcDxe/EbcDebugger/EbcDebuggerConfig.c | 232 +++++++++++++++++++++ MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c | 4 + .../Universal/EbcDxe/EbcDebugger/EdbCommon.h | 3 + .../Universal/EbcDxe/EbcDebugger/EdbHook.c | 11 + .../Universal/EbcDxe/EbcDebuggerConfig.inf | 55 +++++ .../Universal/EbcDxe/EbcDebuggerConfig.uni | 18 ++ .../Universal/EbcDxe/EbcDebuggerConfigExtra.uni | 17 ++ 11 files changed, 378 insertions(+) create mode 100644 MdeModulePkg/Include/Protocol/DebuggerConfiguration.h create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni diff --git a/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h b/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h new file mode 100644 index 000000000000..eaaa6b925fad --- /dev/null +++ b/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h @@ -0,0 +1,32 @@ +/** @file + EBC Debugger configuration protocol. + + Copyright (c) 2007-2016, 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. + +**/ + +#ifndef __EFI_DEBUGGER_CONFIGURATION_H__ +#define __EFI_DEBUGGER_CONFIGURATION_H__ + +#define EFI_DEBUGGER_CONFIGURATION_PROTOCOL_GUID \ + { 0x577d959c, 0xe967, 0x4546, 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, 0x5 } + +#define EFI_DEBUGGER_CONFIGURATION_VERSION 0x00000001 + +typedef struct _EFI_DEBUGGER_CONFIGURATION_PROTOCOL { + UINT32 DebuggerConfigurationRevision; + VOID *DebuggerPrivateData; +} EFI_DEBUGGER_CONFIGURATION_PROTOCOL; + +extern EFI_GUID gEfiDebuggerConfigurationProtocolGuid; + +#endif diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 22898e3f7487..7cffcae50a83 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -420,6 +420,10 @@ [Protocols] # Include/Protocol/GenericMemoryTest.h gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }} + ## This protocol defines the Debugger Configuration interface. + # Include/Protocol/DebuggerConfiguration.h + gEfiDebuggerConfigurationProtocolGuid = { 0x577d959c, 0xe967, 0x4546, { 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, 0x05 }} + ## Include/Protocol/Dpc.h gEfiDpcProtocolGuid = {0x480f8ae9, 0xc46, 0x4aa9, { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }} diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index bfecb3078737..d7db274cac7a 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -432,6 +432,7 @@ [Components.IA32, Components.X64, Components.IPF, Components.AARCH64] MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf MdeModulePkg/Universal/EbcDxe/EbcDxe.inf MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf + MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf [Components.IA32, Components.X64, Components.Ebc] MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf index 7e0166672b99..ce413c0b25f6 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf @@ -102,6 +102,7 @@ [LibraryClasses] [Protocols] gEfiDebugSupportProtocolGuid ## PRODUCES gEfiEbcProtocolGuid ## PRODUCES + gEfiDebuggerConfigurationProtocolGuid ## PRODUCES gEfiEbcVmTestProtocolGuid ## SOMETIMES_PRODUCES gEfiEbcSimpleDebuggerProtocolGuid ## SOMETIMES_CONSUMES gEfiPciRootBridgeIoProtocolGuid ## SOMETIMES_CONSUMES diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c new file mode 100644 index 000000000000..248b1fc6a91f --- /dev/null +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c @@ -0,0 +1,232 @@ +/** @file + Configuration application for the EBC Debugger. + + Copyright (c) 2007 - 2016, 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 <Uefi.h> +#include <Protocol/ShellParameters.h> + +#include "EdbCommon.h" +#include "EdbSupport.h" + +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; +} + +VOID +EdbShowInfo ( + EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration + ) +{ + Print (L"Not supported!\n"); + return ; +} + +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; +} diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c index e0b85c70eff5..189b88357758 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c @@ -27,6 +27,10 @@ EFI_DEBUGGER_PRIVATE_DATA mDebuggerPrivate = { EBC_DEBUGGER_MINOR_VERSION, // EfiDebuggerRevision (VM_MAJOR_VERSION << 16) | VM_MINOR_VERSION, // EbcVmRevision + { + EFI_DEBUGGER_CONFIGURATION_VERSION, + &mDebuggerPrivate, + }, // DebuggerConfiguration NULL, // DebugImageInfoTableHeader NULL, // Vol NULL, // PciRootBridgeIo diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h index 45634af9ce39..616c369253b8 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h @@ -30,9 +30,11 @@ Abstract: #include <Library/PrintLib.h> #include <Library/UefiBootServicesTableLib.h> #include <Protocol/Ebc.h> +#include <Protocol/EbcVmTest.h> #include <Protocol/DebugSupport.h> #include <Protocol/PciRootBridgeIo.h> #include <Protocol/SimpleFileSystem.h> +#include <Protocol/DebuggerConfiguration.h> #include <Guid/FileInfo.h> #include <Guid/FileSystemInfo.h> #include <Guid/FileSystemVolumeLabelInfo.h> @@ -227,6 +229,7 @@ typedef struct _EFI_DEBUGGER_PRIVATE_DATA { EFI_INSTRUCTION_SET_ARCHITECTURE Isa; UINT32 EfiDebuggerRevision; UINT32 EbcVmRevision; + EFI_DEBUGGER_CONFIGURATION_PROTOCOL DebuggerConfiguration; EFI_DEBUG_IMAGE_INFO_TABLE_HEADER *DebugImageInfoTableHeader; EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *Vol; EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c index 9196adb74ba3..3bfee927e227 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c @@ -448,6 +448,17 @@ Returns: ); // + // Register Debugger Configuration Protocol, for config in shell + // + Status = gBS->InstallProtocolInterface ( + &Handle, + &gEfiDebuggerConfigurationProtocolGuid, + EFI_NATIVE_INTERFACE, + &mDebuggerPrivate.DebuggerConfiguration + ); + + // + // // Create break event // Status = gBS->CreateEvent ( diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf new file mode 100644 index 000000000000..0d931a46f01a --- /dev/null +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf @@ -0,0 +1,55 @@ +## @file +# EBC Debugger configuration application. +# +# Copyright (c) 2007 - 2016, 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. +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = EdbCfg + MODULE_UNI_FILE = EbcDebuggerConfig.uni + FILE_GUID = 8CFC5233-23C6-49e3-8A2D-7E581AB305BA + MODULE_TYPE = UEFI_APPLICATION + VERSION_STRING = 1.0 + ENTRY_POINT = InitializeEbcDebuggerConfig + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF AARCH64 +# + +[Sources] + EbcDebugger/EbcDebuggerConfig.c + EbcDebugger/EdbCommon.h + EbcDebugger/EdbSupportString.c + EbcDebugger/EdbSupport.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + UefiLib + BaseLib + DebugLib + UefiApplicationEntryPoint + +[Protocols] + gEfiDebuggerConfigurationProtocolGuid ## CONSUMES + gEfiShellParametersProtocolGuid ## CONSUMES + +[Depex] + TRUE + +[UserExtensions.TianoCore."ExtraFiles"] + EbcDebuggerConfigExtra.uni diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni new file mode 100644 index 000000000000..5201b9358346 --- /dev/null +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni @@ -0,0 +1,18 @@ +// /** @file +// EBC Debugger configuration application. +// +// Copyright (c) 2016, 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. +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "EBC Debugger configuration application" + +#string STR_MODULE_DESCRIPTION #language en-US "This application allows configuring the EBC Debugger." diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni new file mode 100644 index 000000000000..b3ad472c4c44 --- /dev/null +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni @@ -0,0 +1,17 @@ +// /** @file +// EBC Debugger configuration application. +// +// Copyright (c) 2016, 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. +// +// **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"EBC Debugger Config" -- 2.9.3.windows.2 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3 1/1] MdeModulePkg/EbcDxe: add EBC Debugger configuration application 2016-11-24 17:00 ` [PATCH v3 1/1] " Pete Batard @ 2016-11-25 23:36 ` Yao, Jiewen 0 siblings, 0 replies; 3+ messages in thread From: Yao, Jiewen @ 2016-11-25 23:36 UTC (permalink / raw) To: Pete Batard, edk2-devel@lists.01.org Reviewed-by: jiewen.yao@intel.com > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Pete Batard > Sent: Friday, November 25, 2016 1:00 AM > To: edk2-devel@lists.01.org > Cc: Yao, Jiewen <jiewen.yao@intel.com> > Subject: [edk2] [PATCH v3 1/1] MdeModulePkg/EbcDxe: add EBC Debugger > configuration application > > * Introduce a generic Debugger Configuration protocol. > * Add private configuration data in the EBC Debugger and make it > register the Debugger Configuration protocol on initialization. > * Add a shell application that uses the protocol above to access > the private data in order to configure the EBC debugger. > > Cc: Jiewen Yao <jiewen.yao@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Pete Batard <pete@akeo.ie> > --- > .../Include/Protocol/DebuggerConfiguration.h | 32 +++ > MdeModulePkg/MdeModulePkg.dec | 4 + > MdeModulePkg/MdeModulePkg.dsc | 1 + > MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 1 + > .../EbcDxe/EbcDebugger/EbcDebuggerConfig.c | 232 > +++++++++++++++++++++ > MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c | 4 + > .../Universal/EbcDxe/EbcDebugger/EdbCommon.h | 3 + > .../Universal/EbcDxe/EbcDebugger/EdbHook.c | 11 + > .../Universal/EbcDxe/EbcDebuggerConfig.inf | 55 +++++ > .../Universal/EbcDxe/EbcDebuggerConfig.uni | 18 ++ > .../Universal/EbcDxe/EbcDebuggerConfigExtra.uni | 17 ++ > 11 files changed, 378 insertions(+) > create mode 100644 > MdeModulePkg/Include/Protocol/DebuggerConfiguration.h > create mode 100644 > MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c > create mode 100644 > MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf > create mode 100644 > MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni > create mode 100644 > MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni > > diff --git a/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h > b/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h > new file mode 100644 > index 000000000000..eaaa6b925fad > --- /dev/null > +++ b/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h > @@ -0,0 +1,32 @@ > +/** @file > + EBC Debugger configuration protocol. > + > + Copyright (c) 2007-2016, 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. > + > +**/ > + > +#ifndef __EFI_DEBUGGER_CONFIGURATION_H__ > +#define __EFI_DEBUGGER_CONFIGURATION_H__ > + > +#define EFI_DEBUGGER_CONFIGURATION_PROTOCOL_GUID \ > + { 0x577d959c, 0xe967, 0x4546, 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, > 0x5 } > + > +#define EFI_DEBUGGER_CONFIGURATION_VERSION 0x00000001 > + > +typedef struct _EFI_DEBUGGER_CONFIGURATION_PROTOCOL { > + UINT32 DebuggerConfigurationRevision; > + VOID *DebuggerPrivateData; > +} EFI_DEBUGGER_CONFIGURATION_PROTOCOL; > + > +extern EFI_GUID gEfiDebuggerConfigurationProtocolGuid; > + > +#endif > diff --git a/MdeModulePkg/MdeModulePkg.dec > b/MdeModulePkg/MdeModulePkg.dec > index 22898e3f7487..7cffcae50a83 100644 > --- a/MdeModulePkg/MdeModulePkg.dec > +++ b/MdeModulePkg/MdeModulePkg.dec > @@ -420,6 +420,10 @@ [Protocols] > # Include/Protocol/GenericMemoryTest.h > gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, > { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }} > > + ## This protocol defines the Debugger Configuration interface. > + # Include/Protocol/DebuggerConfiguration.h > + gEfiDebuggerConfigurationProtocolGuid = { 0x577d959c, 0xe967, 0x4546, > { 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, 0x05 }} > + > ## Include/Protocol/Dpc.h > gEfiDpcProtocolGuid = {0x480f8ae9, 0xc46, 0x4aa9, > { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }} > > diff --git a/MdeModulePkg/MdeModulePkg.dsc > b/MdeModulePkg/MdeModulePkg.dsc > index bfecb3078737..d7db274cac7a 100644 > --- a/MdeModulePkg/MdeModulePkg.dsc > +++ b/MdeModulePkg/MdeModulePkg.dsc > @@ -432,6 +432,7 @@ [Components.IA32, Components.X64, > Components.IPF, Components.AARCH64] > MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf > MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf > + MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf > > [Components.IA32, Components.X64, Components.Ebc] > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf > { > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf > b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf > index 7e0166672b99..ce413c0b25f6 100644 > --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf > @@ -102,6 +102,7 @@ [LibraryClasses] > [Protocols] > gEfiDebugSupportProtocolGuid ## PRODUCES > gEfiEbcProtocolGuid ## PRODUCES > + gEfiDebuggerConfigurationProtocolGuid ## PRODUCES > gEfiEbcVmTestProtocolGuid ## > SOMETIMES_PRODUCES > gEfiEbcSimpleDebuggerProtocolGuid ## > SOMETIMES_CONSUMES > gEfiPciRootBridgeIoProtocolGuid ## > SOMETIMES_CONSUMES > diff --git > a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c > b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c > new file mode 100644 > index 000000000000..248b1fc6a91f > --- /dev/null > +++ > b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c > @@ -0,0 +1,232 @@ > +/** @file > + Configuration application for the EBC Debugger. > + > + Copyright (c) 2007 - 2016, 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 <Uefi.h> > +#include <Protocol/ShellParameters.h> > + > +#include "EdbCommon.h" > +#include "EdbSupport.h" > + > +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; > +} > + > +VOID > +EdbShowInfo ( > + EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration > + ) > +{ > + Print (L"Not supported!\n"); > + return ; > +} > + > +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; > +} > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c > b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c > index e0b85c70eff5..189b88357758 100644 > --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c > @@ -27,6 +27,10 @@ EFI_DEBUGGER_PRIVATE_DATA mDebuggerPrivate = { > EBC_DEBUGGER_MINOR_VERSION, // > EfiDebuggerRevision > (VM_MAJOR_VERSION << 16) | > VM_MINOR_VERSION, // EbcVmRevision > + { > + EFI_DEBUGGER_CONFIGURATION_VERSION, > + &mDebuggerPrivate, > + }, // > DebuggerConfiguration > NULL, // > DebugImageInfoTableHeader > NULL, // Vol > NULL, // PciRootBridgeIo > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h > b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h > index 45634af9ce39..616c369253b8 100644 > --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h > @@ -30,9 +30,11 @@ Abstract: > #include <Library/PrintLib.h> > #include <Library/UefiBootServicesTableLib.h> > #include <Protocol/Ebc.h> > +#include <Protocol/EbcVmTest.h> > #include <Protocol/DebugSupport.h> > #include <Protocol/PciRootBridgeIo.h> > #include <Protocol/SimpleFileSystem.h> > +#include <Protocol/DebuggerConfiguration.h> > #include <Guid/FileInfo.h> > #include <Guid/FileSystemInfo.h> > #include <Guid/FileSystemVolumeLabelInfo.h> > @@ -227,6 +229,7 @@ typedef struct _EFI_DEBUGGER_PRIVATE_DATA { > EFI_INSTRUCTION_SET_ARCHITECTURE Isa; > UINT32 > EfiDebuggerRevision; > UINT32 EbcVmRevision; > + EFI_DEBUGGER_CONFIGURATION_PROTOCOL > DebuggerConfiguration; > EFI_DEBUG_IMAGE_INFO_TABLE_HEADER > *DebugImageInfoTableHeader; > EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *Vol; > EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL > *PciRootBridgeIo; > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c > b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c > index 9196adb74ba3..3bfee927e227 100644 > --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c > @@ -448,6 +448,17 @@ Returns: > ); > > // > + // Register Debugger Configuration Protocol, for config in shell > + // > + Status = gBS->InstallProtocolInterface ( > + &Handle, > + &gEfiDebuggerConfigurationProtocolGuid, > + EFI_NATIVE_INTERFACE, > + &mDebuggerPrivate.DebuggerConfiguration > + ); > + > + // > + // > // Create break event > // > Status = gBS->CreateEvent ( > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf > b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf > new file mode 100644 > index 000000000000..0d931a46f01a > --- /dev/null > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf > @@ -0,0 +1,55 @@ > +## @file > +# EBC Debugger configuration application. > +# > +# Copyright (c) 2007 - 2016, 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. > +# > +# > +## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = EdbCfg > + MODULE_UNI_FILE = EbcDebuggerConfig.uni > + FILE_GUID = > 8CFC5233-23C6-49e3-8A2D-7E581AB305BA > + MODULE_TYPE = UEFI_APPLICATION > + VERSION_STRING = 1.0 > + ENTRY_POINT = InitializeEbcDebuggerConfig > + > +# > +# The following information is for reference only and not required by the > build tools. > +# > +# VALID_ARCHITECTURES = IA32 X64 IPF AARCH64 > +# > + > +[Sources] > + EbcDebugger/EbcDebuggerConfig.c > + EbcDebugger/EdbCommon.h > + EbcDebugger/EdbSupportString.c > + EbcDebugger/EdbSupport.h > + > +[Packages] > + MdePkg/MdePkg.dec > + MdeModulePkg/MdeModulePkg.dec > + > +[LibraryClasses] > + UefiLib > + BaseLib > + DebugLib > + UefiApplicationEntryPoint > + > +[Protocols] > + gEfiDebuggerConfigurationProtocolGuid ## CONSUMES > + gEfiShellParametersProtocolGuid ## CONSUMES > + > +[Depex] > + TRUE > + > +[UserExtensions.TianoCore."ExtraFiles"] > + EbcDebuggerConfigExtra.uni > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni > b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni > new file mode 100644 > index 000000000000..5201b9358346 > --- /dev/null > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni > @@ -0,0 +1,18 @@ > +// /** @file > +// EBC Debugger configuration application. > +// > +// Copyright (c) 2016, 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. > +// > +// **/ > + > + > +#string STR_MODULE_ABSTRACT #language en-US "EBC > Debugger configuration application" > + > +#string STR_MODULE_DESCRIPTION #language en-US "This > application allows configuring the EBC Debugger." > diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni > b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni > new file mode 100644 > index 000000000000..b3ad472c4c44 > --- /dev/null > +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni > @@ -0,0 +1,17 @@ > +// /** @file > +// EBC Debugger configuration application. > +// > +// Copyright (c) 2016, 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. > +// > +// **/ > + > +#string STR_PROPERTIES_MODULE_NAME > +#language en-US > +"EBC Debugger Config" > -- > 2.9.3.windows.2 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-11-25 23:36 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-11-24 17:00 [PATCH v3 0/1] MdeModulePkg/EbcDxe: add EBC Debugger configuration application Pete Batard 2016-11-24 17:00 ` [PATCH v3 1/1] " Pete Batard 2016-11-25 23:36 ` Yao, Jiewen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox