]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/EbcDxe: add EBC Debugger configuration application
authorPete Batard <pete@akeo.ie>
Thu, 24 Nov 2016 17:00:18 +0000 (01:00 +0800)
committerJiewen Yao <jiewen.yao@intel.com>
Tue, 29 Nov 2016 04:48:33 +0000 (12:48 +0800)
* 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>
reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

MdeModulePkg/Include/Protocol/DebuggerConfiguration.h [new file with mode: 0644]
MdeModulePkg/MdeModulePkg.dec
MdeModulePkg/MdeModulePkg.dsc
MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c [new file with mode: 0644]
MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c
MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h
MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c
MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf [new file with mode: 0644]
MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni [new file with mode: 0644]
MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni [new file with mode: 0644]

diff --git a/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h b/MdeModulePkg/Include/Protocol/DebuggerConfiguration.h
new file mode 100644 (file)
index 0000000..eaaa6b9
--- /dev/null
@@ -0,0 +1,32 @@
+/** @file\r
+  EBC Debugger configuration protocol.\r
+\r
+  Copyright (c) 2007-2016, Intel Corporation. All rights reserved.<BR>\r
+\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions\r
+  of the BSD License which accompanies this distribution.  The\r
+  full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __EFI_DEBUGGER_CONFIGURATION_H__\r
+#define __EFI_DEBUGGER_CONFIGURATION_H__\r
+\r
+#define EFI_DEBUGGER_CONFIGURATION_PROTOCOL_GUID \\r
+  { 0x577d959c, 0xe967, 0x4546, 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, 0x5 }\r
+\r
+#define EFI_DEBUGGER_CONFIGURATION_VERSION  0x00000001\r
+\r
+typedef struct _EFI_DEBUGGER_CONFIGURATION_PROTOCOL {\r
+  UINT32                      DebuggerConfigurationRevision;\r
+  VOID                        *DebuggerPrivateData;\r
+} EFI_DEBUGGER_CONFIGURATION_PROTOCOL;\r
+\r
+extern EFI_GUID gEfiDebuggerConfigurationProtocolGuid;\r
+\r
+#endif\r
index 22898e3f7487e14131ea9ca532b83185a402b00f..7cffcae50a833a7c2729fbdc4f5d90ef3ce6a5d6 100644 (file)
   # Include/Protocol/GenericMemoryTest.h\r
   gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }}\r
 \r
+  ## This protocol defines the Debugger Configuration interface.\r
+  # Include/Protocol/DebuggerConfiguration.h\r
+  gEfiDebuggerConfigurationProtocolGuid = { 0x577d959c, 0xe967, 0x4546, { 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, 0x05 }}\r
+\r
   ## Include/Protocol/Dpc.h\r
   gEfiDpcProtocolGuid            = {0x480f8ae9, 0xc46, 0x4aa9,  { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }}\r
 \r
index bfecb3078737ae55a0f86c5ae1d3b7e16dcd44c8..d7db274cac7a9537d2bf92c893ab507b5e24d03f 100644 (file)
   MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf\r
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
   MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf\r
+  MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf\r
 \r
 [Components.IA32, Components.X64, Components.Ebc]\r
   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
index 7e0166672b99edb66fae7d5fd1fa14ddefe9a79a..ce413c0b25f6f97d01bd5e94c43633620fc7a08f 100644 (file)
 [Protocols]\r
   gEfiDebugSupportProtocolGuid                  ## PRODUCES\r
   gEfiEbcProtocolGuid                           ## PRODUCES\r
+  gEfiDebuggerConfigurationProtocolGuid         ## PRODUCES\r
   gEfiEbcVmTestProtocolGuid                     ## SOMETIMES_PRODUCES\r
   gEfiEbcSimpleDebuggerProtocolGuid             ## SOMETIMES_CONSUMES\r
   gEfiPciRootBridgeIoProtocolGuid               ## SOMETIMES_CONSUMES\r
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EbcDebuggerConfig.c
new file mode 100644 (file)
index 0000000..248b1fc
--- /dev/null
@@ -0,0 +1,232 @@
+/** @file\r
+  Configuration application for the EBC Debugger.\r
+\r
+  Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#include <Uefi.h>\r
+#include <Protocol/ShellParameters.h>\r
+\r
+#include "EdbCommon.h"\r
+#include "EdbSupport.h"\r
+\r
+VOID\r
+PrintUsage (\r
+  VOID\r
+  )\r
+{\r
+  Print (\r
+    L"EbcDebuggerConfig Version 1.0\n"\r
+    L"Copyright (C) Intel Corp 2007-2016. All rights reserved.\n"\r
+    L"\n"\r
+    L"Configure EbcDebugger in EFI Shell Environment.\n"\r
+    L"\n"\r
+    L"usage: EdbCfg <Command>\n"\r
+    L"  CommandList:\n"\r
+    L"    BO[C|CX|R|E|T|K] <ON|OFF> - Enable/Disable BOC/BOCX/BOR/BOE/BOT/BOK.\n"\r
+//    L"    SHOWINFO                - Show Debugger Information.\n"\r
+    L"\n"\r
+    );\r
+  return;\r
+}\r
+\r
+VOID\r
+EdbShowInfo (\r
+  EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration\r
+  )\r
+{\r
+  Print (L"Not supported!\n");\r
+  return ;\r
+}\r
+\r
+VOID\r
+EdbConfigBreak (\r
+  EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration,\r
+  CHAR16                              *Command,\r
+  CHAR16                              *CommandArg\r
+  )\r
+{\r
+  EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate;\r
+\r
+  DebuggerPrivate = (EFI_DEBUGGER_PRIVATE_DATA *)DebuggerConfiguration->DebuggerPrivateData;\r
+\r
+  if (StriCmp (Command, L"BOC") == 0) {\r
+    if (CommandArg == NULL) {\r
+      if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOC) == EFI_DEBUG_FLAG_EBC_BOC) {\r
+        Print (L"BOC on\n");\r
+      } else {\r
+        Print (L"BOC off\n");\r
+      }\r
+    } else if (StriCmp (CommandArg, L"ON") == 0) {\r
+      DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOC;\r
+    } else if (StriCmp (CommandArg, L"OFF") == 0) {\r
+      DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOC;\r
+    } else {\r
+      Print (L"Invalid parameter\n");\r
+    }\r
+  } else if (StriCmp (Command, L"BOCX") == 0) {\r
+    if (CommandArg == NULL) {\r
+      if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOCX) == EFI_DEBUG_FLAG_EBC_BOCX) {\r
+        Print (L"BOCX on\n");\r
+      } else {\r
+        Print (L"BOCX off\n");\r
+      }\r
+    } else if (StriCmp (CommandArg, L"ON") == 0) {\r
+      DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOCX;\r
+    } else if (StriCmp (CommandArg, L"OFF") == 0) {\r
+      DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOCX;\r
+    } else {\r
+      Print (L"Invalid parameter\n");\r
+    }\r
+  } else if (StriCmp (Command, L"BOR") == 0) {\r
+    if (CommandArg == NULL) {\r
+      if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOR) == EFI_DEBUG_FLAG_EBC_BOR) {\r
+        Print (L"BOR on\n");\r
+      } else {\r
+        Print (L"BOR off\n");\r
+      }\r
+    } else if (StriCmp (CommandArg, L"ON") == 0) {\r
+      DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOR;\r
+    } else if (StriCmp (CommandArg, L"OFF") == 0) {\r
+      DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOR;\r
+    } else {\r
+      Print (L"Invalid parameter\n");\r
+    }\r
+  } else if (StriCmp (Command, L"BOE") == 0) {\r
+    if (CommandArg == NULL) {\r
+      if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOE) == EFI_DEBUG_FLAG_EBC_BOE) {\r
+        Print (L"BOE on\n");\r
+      } else {\r
+        Print (L"BOE off\n");\r
+      }\r
+    } else if (StriCmp (CommandArg, L"ON") == 0) {\r
+      DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOE;\r
+    } else if (StriCmp (CommandArg, L"OFF") == 0) {\r
+      DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOE;\r
+    } else {\r
+      Print (L"Invalid parameter\n");\r
+    }\r
+  } else if (StriCmp (Command, L"BOT") == 0) {\r
+    if (CommandArg == NULL) {\r
+      if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOT) == EFI_DEBUG_FLAG_EBC_BOT) {\r
+        Print (L"BOT on\n");\r
+      } else {\r
+        Print (L"BOT off\n");\r
+      }\r
+    } else if (StriCmp (CommandArg, L"ON") == 0) {\r
+      DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOT;\r
+    } else if (StriCmp (CommandArg, L"OFF") == 0) {\r
+      DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOT;\r
+    } else {\r
+      Print (L"Invalid parameter\n");\r
+    }\r
+  } else if (StriCmp (Command, L"BOK") == 0) {\r
+    if (CommandArg == NULL) {\r
+      if ((DebuggerPrivate->FeatureFlags & EFI_DEBUG_FLAG_EBC_BOK) == EFI_DEBUG_FLAG_EBC_BOK) {\r
+        Print (L"BOK on\n");\r
+      } else {\r
+        Print (L"BOK off\n");\r
+      }\r
+    } else if (StriCmp (CommandArg, L"ON") == 0) {\r
+      DebuggerPrivate->FeatureFlags |= EFI_DEBUG_FLAG_EBC_BOK;\r
+    } else if (StriCmp (CommandArg, L"OFF") == 0) {\r
+      DebuggerPrivate->FeatureFlags &= ~EFI_DEBUG_FLAG_EBC_B_BOK;\r
+    } else {\r
+      Print (L"Invalid parameter\n");\r
+    }\r
+  }\r
+  return ;\r
+}\r
+\r
+/**\r
+  Alter the EBC Debugger configuration.\r
+\r
+  @param[in]  ImageHandle        The image handle.\r
+  @param[in]  SystemTable        The system table.\r
+\r
+  @retval EFI_SUCCESS            Operation completed successfully.\r
+  @retval EFI_INVALID_PARAMETER  Usage error.\r
+  @retval EFI_NOT_FOUND          A running debugger cannot be located.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+InitializeEbcDebuggerConfig (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+{\r
+  UINTN                               Argc;\r
+  CHAR16                              **Argv;\r
+  EFI_SHELL_PARAMETERS_PROTOCOL       *ShellParameters;\r
+  EFI_DEBUGGER_CONFIGURATION_PROTOCOL *DebuggerConfiguration;\r
+  EFI_STATUS                          Status;\r
+\r
+  Status = gBS->HandleProtocol (\r
+                  gImageHandle,\r
+                  &gEfiShellParametersProtocolGuid,\r
+                  (VOID**)&ShellParameters\r
+                  );\r
+  if (EFI_ERROR(Status)) {\r
+    Print (L"Please use UEFI Shell to run this application.\n");\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
+  Argc = ShellParameters->Argc;\r
+  Argv = ShellParameters->Argv;\r
+\r
+  if (Argc < 2) {\r
+    PrintUsage ();\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
+  if (Argc == 2) {\r
+    if ((StrCmp (Argv[1], L"/?") == 0) ||\r
+        (StrCmp (Argv[1], L"-?") == 0) ||\r
+        (StrCmp (Argv[1], L"-h") == 0) ||\r
+        (StrCmp (Argv[1], L"-H") == 0) ) {\r
+      PrintUsage ();\r
+      return EFI_SUCCESS;\r
+    }\r
+  }\r
+\r
+  Status = gBS->LocateProtocol (\r
+                 &gEfiDebuggerConfigurationProtocolGuid,\r
+                 NULL,\r
+                 (VOID**)&DebuggerConfiguration\r
+                 );\r
+  if (EFI_ERROR(Status)) {\r
+    Print (L"Error: DebuggerConfiguration protocol not found.\n");\r
+    return EFI_NOT_FOUND;\r
+  }\r
+\r
+  if (StriCmp (Argv[1], L"SHOWINFO") == 0) {\r
+    EdbShowInfo (DebuggerConfiguration);\r
+    return EFI_SUCCESS;\r
+  }\r
+\r
+  if (((Argc == 2) || (Argc == 3)) &&\r
+      ((StriCmp (Argv[1], L"BOC")  == 0) ||\r
+       (StriCmp (Argv[1], L"BOCX") == 0) ||\r
+       (StriCmp (Argv[1], L"BOR")  == 0) ||\r
+       (StriCmp (Argv[1], L"BOE")  == 0) ||\r
+       (StriCmp (Argv[1], L"BOT")  == 0) ||\r
+       (StriCmp (Argv[1], L"BOK")  == 0))) {\r
+    if (Argc == 3) {\r
+      EdbConfigBreak (DebuggerConfiguration, Argv[1], Argv[2]);\r
+    } else {\r
+      EdbConfigBreak (DebuggerConfiguration, Argv[1], NULL);\r
+    }\r
+    return EFI_SUCCESS;\r
+  }\r
+\r
+  Print (L"Error: Invalid Command.\n");\r
+  return EFI_INVALID_PARAMETER;\r
+}\r
index 7f7cfc0f635af36f7eda2cb8b5ece36c16488add..6485060068832970f9bfa0a9aaedee40f13f3f03 100644 (file)
@@ -27,6 +27,10 @@ EFI_DEBUGGER_PRIVATE_DATA mDebuggerPrivate = {
     EBC_DEBUGGER_MINOR_VERSION,              // EfiDebuggerRevision\r
   (VM_MAJOR_VERSION << 16) |\r
     VM_MINOR_VERSION,                        // EbcVmRevision\r
+  {\r
+    EFI_DEBUGGER_CONFIGURATION_VERSION,\r
+    &mDebuggerPrivate,\r
+  },                                         // DebuggerConfiguration\r
   NULL,                                      // DebugImageInfoTableHeader\r
   NULL,                                      // Vol\r
   NULL,                                      // PciRootBridgeIo\r
index 45634af9ce39c7f27f889a956ecfa89fb8d80343..616c369253b8bc4a990081191078c286fd91a8b0 100644 (file)
@@ -30,9 +30,11 @@ Abstract:
 #include <Library/PrintLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Protocol/Ebc.h>\r
+#include <Protocol/EbcVmTest.h>\r
 #include <Protocol/DebugSupport.h>\r
 #include <Protocol/PciRootBridgeIo.h>\r
 #include <Protocol/SimpleFileSystem.h>\r
+#include <Protocol/DebuggerConfiguration.h>\r
 #include <Guid/FileInfo.h>\r
 #include <Guid/FileSystemInfo.h>\r
 #include <Guid/FileSystemVolumeLabelInfo.h>\r
@@ -227,6 +229,7 @@ typedef struct _EFI_DEBUGGER_PRIVATE_DATA {
   EFI_INSTRUCTION_SET_ARCHITECTURE            Isa;\r
   UINT32                                      EfiDebuggerRevision;\r
   UINT32                                      EbcVmRevision;\r
+  EFI_DEBUGGER_CONFIGURATION_PROTOCOL         DebuggerConfiguration;\r
   EFI_DEBUG_IMAGE_INFO_TABLE_HEADER           *DebugImageInfoTableHeader;\r
   EFI_SIMPLE_FILE_SYSTEM_PROTOCOL             *Vol;\r
   EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL             *PciRootBridgeIo;\r
index 9394fb0ce5e883072501eb636a1db74506b70b74..64c5ed892b8461b2070c4ed7723a487eb07b0e5e 100644 (file)
@@ -447,6 +447,17 @@ Returns:
              (VOID**) &mDebuggerPrivate.DebugImageInfoTableHeader\r
              );\r
 \r
+  //\r
+  // Register Debugger Configuration Protocol, for config in shell\r
+  //\r
+  Status = gBS->InstallProtocolInterface (\r
+                  &Handle,\r
+                  &gEfiDebuggerConfigurationProtocolGuid,\r
+                  EFI_NATIVE_INTERFACE,\r
+                  &mDebuggerPrivate.DebuggerConfiguration\r
+                  );\r
+\r
+  //\r
   //\r
   // Create break event\r
   //\r
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf
new file mode 100644 (file)
index 0000000..0d931a4
--- /dev/null
@@ -0,0 +1,55 @@
+## @file\r
+#  EBC Debugger configuration application.\r
+#\r
+#  Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
+#\r
+#  This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution. The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+#\r
+##\r
+\r
+[Defines]\r
+  INF_VERSION                    = 0x00010005\r
+  BASE_NAME                      = EdbCfg\r
+  MODULE_UNI_FILE                = EbcDebuggerConfig.uni\r
+  FILE_GUID                      = 8CFC5233-23C6-49e3-8A2D-7E581AB305BA\r
+  MODULE_TYPE                    = UEFI_APPLICATION\r
+  VERSION_STRING                 = 1.0\r
+  ENTRY_POINT                    = InitializeEbcDebuggerConfig\r
+\r
+#\r
+# The following information is for reference only and not required by the build tools.\r
+#\r
+#  VALID_ARCHITECTURES           = IA32 X64 IPF AARCH64\r
+#\r
+\r
+[Sources]\r
+  EbcDebugger/EbcDebuggerConfig.c\r
+  EbcDebugger/EdbCommon.h\r
+  EbcDebugger/EdbSupportString.c\r
+  EbcDebugger/EdbSupport.h\r
+\r
+[Packages]\r
+  MdePkg/MdePkg.dec\r
+  MdeModulePkg/MdeModulePkg.dec\r
+\r
+[LibraryClasses]\r
+  UefiLib\r
+  BaseLib\r
+  DebugLib\r
+  UefiApplicationEntryPoint\r
+\r
+[Protocols]\r
+  gEfiDebuggerConfigurationProtocolGuid     ## CONSUMES\r
+  gEfiShellParametersProtocolGuid           ## CONSUMES\r
+\r
+[Depex]\r
+  TRUE\r
+\r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  EbcDebuggerConfigExtra.uni\r
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.uni
new file mode 100644 (file)
index 0000000..5201b93
--- /dev/null
@@ -0,0 +1,18 @@
+// /** @file\r
+// EBC Debugger configuration application.\r
+//\r
+// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+//\r
+// This program and the accompanying materials\r
+// are licensed and made available under the terms and conditions of the BSD License\r
+// which accompanies this distribution. The full text of the license may be found at\r
+// http://opensource.org/licenses/bsd-license.php\r
+// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+//\r
+// **/\r
+\r
+\r
+#string STR_MODULE_ABSTRACT             #language en-US "EBC Debugger configuration application"\r
+\r
+#string STR_MODULE_DESCRIPTION          #language en-US "This application allows configuring the EBC Debugger."\r
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfigExtra.uni
new file mode 100644 (file)
index 0000000..b3ad472
--- /dev/null
@@ -0,0 +1,17 @@
+// /** @file\r
+// EBC Debugger configuration application.\r
+//\r
+// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+//\r
+// This program and the accompanying materials\r
+// are licensed and made available under the terms and conditions of the BSD License\r
+// which accompanies this distribution. The full text of the license may be found at\r
+// http://opensource.org/licenses/bsd-license.php\r
+// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+//\r
+// **/\r
+\r
+#string STR_PROPERTIES_MODULE_NAME\r
+#language en-US\r
+"EBC Debugger Config"\r