SHEL9
authorhfang <hfang@0aefa8ac-fc23-0410-b7a3-bf826d37e4c2>
Mon, 25 Jun 2007 09:05:05 +0000 (09:05 +0000)
committerhfang <hfang@0aefa8ac-fc23-0410-b7a3-bf826d37e4c2>
Mon, 25 Jun 2007 09:05:05 +0000 (09:05 +0000)
git-svn-id: https://efi-shell.tianocore.org/svn/efi-shell/trunk/Shell@28 0aefa8ac-fc23-0410-b7a3-bf826d37e4c2

61 files changed:
EDK_Snapshot.txt
EfiCompress/compress.inf
EfiDecompress/Decompress.inf
IfConfig/IfConfig.c
IfConfig/IfConfig.inf
IfConfig/IfConfigStrings.uni
Library/ConsistMapping.c
Library/DPath.c
Library/DPath.h
Library/EfiShellLib.h
Library/Handle.c
Library/Misc.c
Library/Str.c
Library/Str.h
LoadPciRom/LoadPciRom.h
LoadPciRom/LoadPciRom.inf
Ping/Ping.c
Ping/Ping.inf
Ping/PingStrings.uni
ShellFull.inf
comp/comp.inf
dblk/dblk.h
dblk/dblk.inf
dmem/dmem.inf
dmpstore/dmpstore.inf
drivers/drivers.c
drvcfg/drvcfg.c
drvcfg/drvcfg.inf
drvdiag/drvdiag.c
drvdiag/drvdiag.inf
edit/edit.inf
err/err.inf
hexedit/hexedit.inf
mem/mem.inf
memmap/memmap.h
memmap/memmap.inf
mm/mm.h
mm/mm.inf
mode/mode.h
mode/mode.inf
mount/mount.h
mount/mount.inf
openinfo/openinfo.h
openinfo/openinfo.inf
pci/pci.h
pci/pci.inf
rm/rm.h
rm/rm.inf
sermode/sermode.h
sermode/sermode.inf
shellenv/cmddisp.c
shellenv/map.c
shellenv/protid.c
stall/stall.h
stall/stall.inf
type/type.h
type/type.inf
tzone/timezone.inf
unload/unload.c
vol/Vol.inf
vol/vol.h

index 4907998..7d0f44a 100644 (file)
@@ -1,5 +1,5 @@
 Notes:
-  This EFI Shell release package has been tested on the 2007-03-15's EDK which snapshot
-is Edk-Dev-Snapshot-20070315, User can get this version EDK from the following URL:
-  https://edk.tianocore.org/files/documents/16/338/Edk-Dev-Snapshot-20070315.zip
+  This EFI Shell release package has been tested on the 2007-06-25's EDK which snapshot
+is Edk-Dev-Snapshot-20070625, User can get this version EDK from the following URL:
+  https://edk.tianocore.org/files/documents/16/390/Edk-Dev-Snapshot-20070625.zip
   We don't guarantee this package can work correctly on the other EDK snapshot.
\ No newline at end of file
index 3b5c6ca..2e62fbf 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = eficompress
+BASE_NAME            = EfiCompress
 FILE_GUID            = A6A236DB-F3FB-4f7f-93BC-0AF7DAA583B9
 COMPONENT_TYPE       = APPLICATION
 
index 95bb739..f955220 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = efidecompress
+BASE_NAME            = EfiDecompress
 FILE_GUID            = D9D42564-071C-4d73-8DB0-43C55C62DC4C
 COMPONENT_TYPE       = APPLICATION
 
index c9935a4..b8120d4 100644 (file)
@@ -1057,7 +1057,7 @@ Returns:
 
 EFI_STATUS
 EFIAPI
-EfiMain (
+IfConfig (
   IN  EFI_HANDLE                ImageHandle,
   IN  EFI_SYSTEM_TABLE          *SystemTable
   )
@@ -1205,4 +1205,28 @@ Done:
   return Status;
 }
 
-EFI_BOOTSHELL_CODE(EFI_APPLICATION_ENTRY_POINT(EfiMain))
+EFI_BOOTSHELL_CODE(EFI_APPLICATION_ENTRY_POINT(IfConfig))
+
+EFI_STATUS
+EFIAPI
+IfConfigGetLineHelp (
+  OUT CHAR16              **Str
+  )
+/*++
+
+Routine Description:
+
+  Get this command's line help
+
+Arguments:
+
+  Str - The line help
+
+Returns:
+
+  EFI_SUCCESS   - Success
+
+--*/
+{
+  return LibCmdGetStringByToken (STRING_ARRAY_NAME, &EfiIfConfigGuid, STRING_TOKEN (STR_IFCONFIG_LINE_HELP), Str);
+}
index 4f9876a..b2e4964 100644 (file)
@@ -55,7 +55,7 @@ COMPONENT_TYPE       = APPLICATION
 
 [nmake.common]
   C_PROJ_FLAGS = $(C_PROJ_FLAGS)
-  IMAGE_ENTRY_POINT=EfiMain
+  IMAGE_ENTRY_POINT=IfConfig
   C_STD_FLAGS = $(C_STD_FLAGS) /DEFI_BOOTSHELL
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings 
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\"
index 627d5c8..4aedd48 100644 (file)
Binary files a/IfConfig/IfConfigStrings.uni and b/IfConfig/IfConfigStrings.uni differ
index c6fe366..14992ae 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -667,7 +667,7 @@ DEV_PATH_CONSIST_MAPPING_TABLE  DevPathConsistMappingTable[] = {
   MEDIA_PROTOCOL_DP,
   _DevPathSerialDefault,
   _DevPathCompareDefault,
-#if (EFI_SPECIFICATION_VERSION < 0x00020000)
+#if (EFI_SPECIFICATION_VERSION != 0x00020000)
   MEDIA_DEVICE_PATH,
   MEDIA_FV_FILEPATH_DP,
   _DevPathSerialDefault,
index 4a57bb6..5f55484 100644 (file)
@@ -841,6 +841,27 @@ _DevPathUsbClass (
     );
 }
 
+VOID
+_DevPathSata (
+  IN OUT POOL_PRINT       *Str,
+  IN VOID                 *DevPath
+  )
+{
+  SATA_DEVICE_PATH *Sata;
+
+  ASSERT (Str != NULL);
+  ASSERT (DevPath != NULL);
+
+  Sata = DevPath;
+  CatPrint (
+    Str,
+    L"Sata(%x,%x,%x)",
+    (UINTN) Sata->HBAPortNumber,
+    (UINTN) Sata->PortMultiplierPortNumber,
+    (UINTN) Sata->Lun
+    );
+}
+
 VOID
 _DevPathI2O (
   IN OUT POOL_PRINT       *Str,
@@ -1314,6 +1335,9 @@ DevPathTable[] = {
   MSG_USB_CLASS_DP,
   _DevPathUsbClass,
   MESSAGING_DEVICE_PATH,
+  MSG_SATA_DP,
+  _DevPathSata,
+  MESSAGING_DEVICE_PATH,
   MSG_I2O_DP,
   _DevPathI2O,
   MESSAGING_DEVICE_PATH,
@@ -1354,7 +1378,7 @@ DevPathTable[] = {
   MEDIA_DEVICE_PATH,
   MEDIA_PROTOCOL_DP,
   _DevPathMediaProtocol,
-#if (EFI_SPECIFICATION_VERSION < 0x00020000)
+#if (EFI_SPECIFICATION_VERSION != 0x00020000)
   MEDIA_DEVICE_PATH,
   MEDIA_FV_FILEPATH_DP,
   _DevPathFvFilePath,
@@ -1864,14 +1888,14 @@ Returns:
 
 --*/
 {
-#if (EFI_SPECIFICATION_VERSION < 0x00020000) 
+#if (EFI_SPECIFICATION_VERSION != 0x00020000)
   //
   // Use old Device Path that conflicts with UEFI
   //
   FvDevicePathNode->Header.Type     = MEDIA_DEVICE_PATH;
   FvDevicePathNode->Header.SubType  = MEDIA_FV_FILEPATH_DP;
   SetDevicePathNodeLength (&FvDevicePathNode->Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-  
+
 #else
   //
   // Use the new Device path that does not conflict with the UEFI
@@ -1925,7 +1949,7 @@ Returns:
 
 --*/
 {
-#if (EFI_SPECIFICATION_VERSION < 0x00020000) 
+#if (EFI_SPECIFICATION_VERSION != 0x00020000) 
   //
   // Use old Device Path that conflicts with UEFI
   //
index 3bc5173..45f79c3 100644 (file)
@@ -52,9 +52,8 @@ typedef struct {
   EFI_DEVICE_PATH_PROTOCOL  Header;
   UINT16                    NetworkProtocol;
   UINT16                    LoginOption;
-  UINT16                    Reserved;
-  UINT16                    TargetPortalGroupTag;
   UINT64                    Lun;
+  UINT16                    TargetPortalGroupTag;
   CHAR16                    iSCSITargetName[1];
 } ISCSI_DEVICE_PATH_WITH_NAME;
 
index e3ca523..0a72cbe 100644 (file)
@@ -57,6 +57,7 @@ Revision History
 #include EFI_PROTOCOL_DEFINITION (BlockIo)
 #include EFI_PROTOCOL_DEFINITION (BusSpecificDriverOverride)
 #include EFI_PROTOCOL_DEFINITION (ComponentName)
+#include EFI_PROTOCOL_DEFINITION (ComponentName2)
 #include EFI_PROTOCOL_DEFINITION (ConsoleControl)
 #include EFI_PROTOCOL_DEFINITION (CpuIo)
 #include EFI_PROTOCOL_DEFINITION (DataHub)
@@ -74,6 +75,7 @@ Revision History
 #include EFI_PROTOCOL_DEFINITION (FileSystemInfo)
 #include EFI_PROTOCOL_DEFINITION (FileSystemVolumeLabelInfo)
 #include EFI_PROTOCOL_DEFINITION (FirmwareVolume)
+#include EFI_PROTOCOL_DEFINITION (FirmwareVolume2)
 #include EFI_PROTOCOL_DEFINITION (FirmwareVolumeBlock)
 #include EFI_PROTOCOL_DEFINITION (FormBrowser)
 #include EFI_PROTOCOL_DEFINITION (FormCallback)
@@ -285,4 +287,17 @@ DivU64x32 (
   OUT UINTN   *Remainder OPTIONAL
   );
 
+EFI_STATUS
+LibGetComponentNameProtocol (
+  IN EFI_HANDLE                      DriverBindingHandle,
+  OUT EFI_COMPONENT_NAME_PROTOCOL    **ComponentName,
+  OUT EFI_COMPONENT_NAME2_PROTOCOL   **ComponentName2
+  );
+
+CHAR8 *
+LibConvertComponentName2SupportLanguage (
+  IN EFI_COMPONENT_NAME2_PROTOCOL    *ComponentName,
+  IN CHAR8                           *Language
+  );
+
 #endif
index a6dc84a..3793ef8 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -881,6 +881,10 @@ LibScanHandleDatabase (
           (*HandleType)[HandleIndex] |= EFI_HANDLE_TYPE_DRIVER_DIAGNOSTICS_HANDLE;
         }
 
+        if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiComponentName2ProtocolGuid) == 0) {
+          (*HandleType)[HandleIndex] |= EFI_HANDLE_TYPE_COMPONENT_NAME_HANDLE;
+        }
+
         if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiComponentNameProtocolGuid) == 0) {
           (*HandleType)[HandleIndex] |= EFI_HANDLE_TYPE_COMPONENT_NAME_HANDLE;
         }
index ac06e3c..989a0c6 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -1147,13 +1147,15 @@ Returns:
   EFI_DEVICE_PATH_PROTOCOL          *DevPath;
   EFI_DEVICE_PATH_PROTOCOL          *DevPathNode;
   MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvFilePath;
-  EFI_FIRMWARE_VOLUME_PROTOCOL      *FV;
   VOID                              *Buffer;
   UINTN                             BufferSize;
   UINT32                            AuthenticationStatus;
   EFI_GUID                          *NameGuid;
+  EFI_FIRMWARE_VOLUME_PROTOCOL      *FV;
+  EFI_FIRMWARE_VOLUME2_PROTOCOL     *FV2;
 
   FV          = NULL;
+  FV2         = NULL;
   Buffer      = NULL;
   BufferSize  = 0;
 
@@ -1169,11 +1171,8 @@ Returns:
     //
     // Find the Fv File path
     //
-//    if (DevicePathType (DevPathNode) == MEDIA_DEVICE_PATH  &&
-//             DevicePathSubType (DevPathNode) == MEDIA_FV_FILEPATH_DP)
-//    if (DevicePathType (DevPathNode) == MEDIA_DEVICE_PATH && DevicePathSubType (DevPathNode) == MEDIA_FV_FILEPATH_DP) {
     NameGuid = GetNameGuidFromFwVolDevicePathNode ((MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *)DevPathNode);
-       if (NameGuid != NULL) {
+    if (NameGuid != NULL) {
       FvFilePath = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) DevPathNode;
       Status = BS->HandleProtocol (
                     Image->DeviceHandle,
@@ -1195,6 +1194,28 @@ Returns:
         }
 
         Buffer = NULL;
+      } else {
+        Status = BS->HandleProtocol (
+                      Image->DeviceHandle,
+                      &gEfiFirmwareVolume2ProtocolGuid,
+                      &FV2
+                      );
+        if (!EFI_ERROR (Status)) {
+          Status = FV2->ReadSection (
+                          FV2,
+                          &FvFilePath->NameGuid,
+                          EFI_SECTION_USER_INTERFACE,
+                          0,
+                          &Buffer,
+                          &BufferSize,
+                          &AuthenticationStatus
+                          );
+          if (!EFI_ERROR (Status)) {
+            break;
+          }
+
+          Buffer = NULL;
+        }
       }
     }
     //
@@ -1828,3 +1849,127 @@ Returns:
   }
   return Status;
 }
+
+EFI_STATUS
+LibGetComponentNameProtocol (
+  IN EFI_HANDLE                      DriverBindingHandle,
+  OUT EFI_COMPONENT_NAME_PROTOCOL    **ComponentName,
+  OUT EFI_COMPONENT_NAME2_PROTOCOL   **ComponentName2
+  )
+/*++
+
+  Routine Description:
+
+    Get the ComponentName or ComponentName2 protocol according to the driver binding handle
+
+  Arguments:
+
+    DriverBindingHandle   - The Handle of DriverBinding
+    ComponentName         - Pointer to the ComponentName protocl pointer
+    ComponentName2        - Pointer to the ComponentName2 protocl pointer
+
+  Returns:
+
+    EFI_INVALID_PARAMETER - The ComponentName and ComponentName2 parameters are invalid.
+    EFI_NOT_FOUND         - Neither ComponentName nor ComponentName2 has been installed.
+
+--*/
+{
+  EFI_STATUS                         Status;
+
+  if ((ComponentName == NULL) || (ComponentName2 == NULL)) {
+    return EFI_INVALID_PARAMETER;
+  }
+
+  *ComponentName  = NULL;
+  *ComponentName2 = NULL;
+
+  Status = BS->OpenProtocol (
+                 DriverBindingHandle,
+                 &gEfiComponentName2ProtocolGuid,
+                 (VOID **) ComponentName2,
+                 NULL,
+                 NULL,
+                 EFI_OPEN_PROTOCOL_GET_PROTOCOL
+                 );
+  if (EFI_ERROR(Status)) {
+    Status = BS->OpenProtocol (
+                   DriverBindingHandle,
+                   &gEfiComponentNameProtocolGuid,
+                   (VOID **) ComponentName,
+                   NULL,
+                   NULL,
+                   EFI_OPEN_PROTOCOL_GET_PROTOCOL
+                   );
+  }
+
+  return Status;
+}
+
+CHAR8 *
+LibConvertComponentName2SupportLanguage (
+  IN EFI_COMPONENT_NAME2_PROTOCOL    *ComponentName,
+  IN CHAR8                           *Language
+  )
+/*++
+
+  Routine Description:
+
+    Do some convertion for the ComponentName2 supported language. It do 
+    the convertion just for english language code currently.
+
+  Arguments:
+
+    ComponentName         - Pointer to the ComponentName2 protocl pointer.
+    Language              - The language string.
+
+  Returns:
+
+    Return the duplication of Language if it is not english otherwise return 
+    the supported english language code.
+
+--*/
+{
+  CHAR8                              *SupportedLanguages;
+  CHAR8                              *LangCode;
+  UINTN                              Index;
+
+  LangCode           = NULL;
+  SupportedLanguages = NULL;
+
+  //
+  // treat all the english language code (en-xx or eng) equally
+  //
+  if ((strncmpa(Language, "en-", 3) == 0) || (strcmpa(Language, "eng") == 0)) {
+    SupportedLanguages = strstra(ComponentName->SupportedLanguages, "en-");
+    if (SupportedLanguages == NULL) {
+      SupportedLanguages = strstra(ComponentName->SupportedLanguages, "eng");
+    }
+  }
+
+  //
+  // duplicate the Language if it is not english
+  //
+  if (SupportedLanguages == NULL) {
+    SupportedLanguages = Language;
+  }
+
+  //
+  // duplicate the returned language code.
+  //
+  if (strstra(SupportedLanguages, "-") != NULL) {
+    LangCode = AllocateZeroPool(32);
+    for(Index = 0; (Index < 31) && (SupportedLanguages[Index] != '\0') && (SupportedLanguages[Index] != ';'); Index++) {
+      LangCode[Index] = SupportedLanguages[Index];
+    }
+    LangCode[Index] = '\0';
+  } else {
+    LangCode = AllocateZeroPool(4);
+    for(Index = 0; (Index < 3) && (SupportedLanguages[Index] != '\0'); Index++) {
+      LangCode[Index] = SupportedLanguages[Index];
+    }
+    LangCode[Index] = '\0';
+  }
+  return LangCode;
+}
+
index c6d0d9b..ca0c76b 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -893,6 +893,67 @@ Returns:
   return len;
 }
 
+VOID
+strcpya (
+  IN CHAR8    *Destination,
+  IN CHAR8    *Source
+  )
+/*++
+
+Routine Description:
+  Copy the Ascii string Source to Destination.
+
+Arguments:
+  Destination - Location to copy string
+  Source      - String to copy
+
+Returns:
+  Pointer just pass the end of Destination
+
+--*/
+{
+  while (*Source) {
+    *(Destination++) = *(Source++);
+  }
+  *Destination = 0;
+  return;
+}
+
+VOID
+strncpya (
+  OUT CHAR8    *Dst,
+  IN  CHAR8    *Src,
+  IN  UINTN    Length
+  )
+/*++
+
+Routine Description:
+  Copy the Ascii string from source to destination
+
+Arguments:
+  Dst              Destination string
+  Src              Source string
+  Length           Length of destination string
+
+Returns:
+
+--*/
+{
+  UINTN Index;
+  UINTN SrcLen;
+
+  SrcLen = strlena (Src);
+
+  Index = 0;
+  while (Index < Length && Index < SrcLen) {
+    Dst[Index] = Src[Index];
+    Index++;
+  }
+  for (Index = SrcLen; Index < Length; Index++) {
+    Dst[Index] = 0;
+  }
+}
+
 UINTN
 strcmpa (
   IN CHAR8    *s1,
@@ -963,6 +1024,45 @@ Returns:
   return len ? *s1 -*s2 : 0;
 }
 
+CHAR8*
+strstra (
+  IN  CHAR8  *String,
+  IN  CHAR8  *StrCharSet
+  )
+/*++
+
+Routine Description:
+  
+  Find a Ascii substring.
+  
+Arguments: 
+  
+  String      - Null-terminated Ascii string to search.
+  StrCharSet  - Null-terminated Ascii string to search for.
+  
+Returns:
+  The address of the first occurrence of the matching Ascii substring if successful, or NULL otherwise.
+--*/
+{
+  CHAR8 *Src;
+  CHAR8 *Sub;
+   
+  Src = String;
+  Sub = StrCharSet;
+  
+  while ((*String != '\0') && (*StrCharSet != '\0')) {
+    if (*String++ != *StrCharSet++) {
+      String = ++Src;
+      StrCharSet = Sub;
+    }
+  }
+  if (*StrCharSet == '\0') {
+    return Src;
+  } else {
+    return NULL;
+  }
+}
+
 BOOLEAN
 StrSubCmp (
   IN CHAR16   *s1,
index 213d9e0..3f73bc5 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -97,6 +97,19 @@ strlena (
   IN CHAR8    *s1
   );
 
+VOID
+strcpya (
+  IN CHAR8    *Destination,
+  IN CHAR8    *Source
+  );
+
+VOID
+strncpya (
+  OUT CHAR8    *Dst,
+  IN  CHAR8    *Src,
+  IN  UINTN    Length
+  );
+
 UINTN
 strcmpa (
   IN CHAR8    *s1,
@@ -110,6 +123,12 @@ strncmpa (
   IN UINTN    len
   );
 
+CHAR8*
+strstra (
+  IN  CHAR8  *String,
+  IN  CHAR8  *StrCharSet
+  );
+
 BOOLEAN
 StrSubCmp (
   IN CHAR16   *s1,
@@ -228,4 +247,4 @@ LibStubStrUpr (
   IN CHAR16                           *Str
   );
 
-#endif
\ No newline at end of file
+#endif
index 6375558..e9db96d 100644 (file)
@@ -26,7 +26,7 @@ Revision History
 
 #define EFI_LOADPCIROM_GUID \
   { \
-    0xc91e9dbd, 0x3d9f, 0x4d77, 0xa2, 0x5c, 0x4e, 0x1c, 0x65, 0xdc, 0xe1, 0x6e \
+    0xe804be71, 0xea78, 0x4b84, 0x99, 0xa1, 0x1a, 0x12, 0xe4, 0x22, 0x6f, 0xd4 \
   }
 
-#endif
\ No newline at end of file
+#endif
index 2449462..8e79af7 100644 (file)
@@ -35,7 +35,7 @@
 
 [defines]
 BASE_NAME            = LoadPciRom
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+FILE_GUID            = E804BE71-EA78-4b84-99A1-1A12E4226FD4
 COMPONENT_TYPE       = APPLICATION
 
 
index a014dde..4fe69e2 100644 (file)
@@ -1211,11 +1211,11 @@ Exit:
   return Status;
 }
 
-EFI_BOOTSHELL_CODE (EFI_APPLICATION_ENTRY_POINT (EfiMain))
+EFI_BOOTSHELL_CODE (EFI_APPLICATION_ENTRY_POINT (Ping))
 
 EFI_STATUS
 EFIAPI
-EfiMain (
+Ping (
   IN  EFI_HANDLE        ImageHandle,
   IN  EFI_SYSTEM_TABLE  *SystemTable
   )
@@ -1351,3 +1351,27 @@ Done:
 
   return Status;
 }
+
+EFI_STATUS
+EFIAPI
+PingGetLineHelp (
+  OUT CHAR16              **Str
+  )
+/*++
+
+Routine Description:
+
+  Get this command's line help
+
+Arguments:
+
+  Str - The line help
+
+Returns:
+
+  EFI_SUCCESS   - Success
+
+--*/
+{
+  return LibCmdGetStringByToken (STRING_ARRAY_NAME, &EfiPingGuid, STRING_TOKEN (STR_PING_LINE_HELP), Str);
+}
index fdd607b..64dec5c 100644 (file)
@@ -65,7 +65,7 @@ COMPONENT_TYPE       = APPLICATION
 
 [nmake.common]
   C_PROJ_FLAGS = $(C_PROJ_FLAGS)
-  IMAGE_ENTRY_POINT=EfiMain
+  IMAGE_ENTRY_POINT=Ping
   C_STD_FLAGS = $(C_STD_FLAGS) /DEFI_BOOTSHELL
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings 
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\"
index d5df3ab..d63596f 100644 (file)
Binary files a/Ping/PingStrings.uni and b/Ping/PingStrings.uni differ
index 268a1d8..a843fca 100644 (file)
@@ -217,7 +217,12 @@ COMPONENT_TYPE       = APPLICATION
   hexedit\libMenuBar.c
   hexedit\libClipBoard.c
   hexedit\libMisc.c
-  
+
+  IfConfig\IfConfigStrings.uni
+  IfConfig\IfConfig.c
+  IfConfig\IfConfig.h
+  IfConfig\ShellNetHelper.c
+
   ipconfig\IpConfigStrings.uni
   ipconfig\IpConfig.c
   
@@ -244,7 +249,10 @@ COMPONENT_TYPE       = APPLICATION
   
   openinfo\OPeninfoStrings.uni
   openinfo\openinfo.c
-  
+
+  Ping\PingStrings.uni
+  Ping\Ping.c
+
   pci\PciStrings.uni
   pci\pci.c
   pci\pci_class.c
@@ -304,6 +312,7 @@ COMPONENT_TYPE       = APPLICATION
   $(EDK_SOURCE)\Foundation\FrameWork
   $(EDK_SOURCE)\Foundation\FrameWork\Include
   $(EDK_SOURCE)\Foundation\Core\Dxe
+  $(EDK_SOURCE)\Foundation\Library\Dxe\Include
   $(DEST_DIR)
 
 [libraries.common]
@@ -314,7 +323,16 @@ COMPONENT_TYPE       = APPLICATION
   EdkGuidLib
   EdkFrameworkGuidLib
   EfiGuidLib
-    
+
+[libraries.Ia32]
+  CpuIA32Lib
+
+[libraries.Ipf]
+  CpuIA64Lib
+
+[Libraries.X64]
+  CpuIA32Lib
+
 [--]
 
 #
index 9b1cd13..7a525e4 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = comp
+BASE_NAME            = Comp
 FILE_GUID            = A4810650-EF4E-4ef5-9A9E-9A81FDCAF6C2
 COMPONENT_TYPE       = APPLICATION
 
index e1e4c61..0341aeb 100644 (file)
@@ -30,7 +30,7 @@ Revision History
 //
 #define EFI_DBLK_GUID \
   { \
-    0xbf209df0, 0xb0a5, 0x48c4, 0x90, 0x37, 0x6b, 0xbc, 0xbc, 0xaa, 0x4b, 0x8f \
+    0xded389c0, 0x956a, 0x4244, 0xae, 0x98, 0xc9, 0x7f, 0xa0, 0x81, 0xca, 0xd8 \
   }
   
 #define EFI_PARTITION_SIGNATURE       0x5053595320494249
index b0aef96..f15392c 100644 (file)
@@ -21,7 +21,7 @@
 
 [defines]
 BASE_NAME            = Dblk
-FILE_GUID            = 2D7D935A-49BD-4a12-A396-A6D9496D6D32
+FILE_GUID            = DED389C0-956A-4244-AE98-C97FA081CAD8
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
index 3e4cbd6..ca0dcaf 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = dmem
+BASE_NAME            = Dmem
 FILE_GUID            = 644E259E-FF88-4d31-8092-B99D8777F1C4
 COMPONENT_TYPE       = APPLICATION
 
index ea3318c..f380759 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = dmpstore
+BASE_NAME            = DmpStore
 FILE_GUID            = 7185D15A-A0AE-4dd1-A58F-C6EAD28EC9A8
 COMPONENT_TYPE       = APPLICATION
 
index 02ca5ee..71e675c 100644 (file)
@@ -1,6 +1,6 @@
 /*++
  
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -27,6 +27,7 @@ Revision History
 #include "drivers.h"
 
 #include EFI_PROTOCOL_DEFINITION (ComponentName)
+#include EFI_PROTOCOL_DEFINITION (ComponentName2)
 #include EFI_PROTOCOL_DEFINITION (DriverConfiguration)
 #include EFI_PROTOCOL_DEFINITION (DriverDiagnostics)
 
@@ -120,30 +121,33 @@ Returns:
 
 --*/
 {
-  EFI_STATUS                  Status;
-  EFI_STATUS                  DiagnosticsStatus;
-  EFI_STATUS                  ConfigurationStatus;
-  UINTN                       StringIndex;
-  UINTN                       Index;
-  CHAR8                       *Language;
-  UINTN                       DriverImageHandleCount;
-  EFI_HANDLE                  *DriverImageHandleBuffer;
-  UINTN                       HandleIndex;
-  EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
-  EFI_LOADED_IMAGE_PROTOCOL   *LoadedImage;
-  EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
-  CHAR16                      *DriverName;
-  CHAR16                      FormattedDriverName[40];
-  UINTN                       NumberOfChildren;
-  UINTN                       ControllerHandleCount;
-  EFI_HANDLE                  *ControllerHandleBuffer;
-  UINTN                       ChildControllerHandleCount;
-  CHAR16                      *ImageName;
-  BOOLEAN                     IsHelp;
-  SHELL_VAR_CHECK_CODE        RetCode;
-  CHAR16                      *Useful;
-  SHELL_ARG_LIST              *Item;
-  SHELL_VAR_CHECK_PACKAGE     ChkPck;
+  EFI_STATUS                   Status;
+  EFI_STATUS                   DiagnosticsStatus;
+  EFI_STATUS                   ConfigurationStatus;
+  UINTN                        StringLength;
+  UINTN                        StringIndex;
+  UINTN                        Index;
+  CHAR8                        *Language;
+  UINTN                        DriverImageHandleCount;
+  EFI_HANDLE                   *DriverImageHandleBuffer;
+  UINTN                        HandleIndex;
+  EFI_DRIVER_BINDING_PROTOCOL  *DriverBinding;
+  EFI_LOADED_IMAGE_PROTOCOL    *LoadedImage;
+  EFI_COMPONENT_NAME_PROTOCOL  *ComponentName;
+  EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2;
+  CHAR8                        *SupportedLanguage;
+  CHAR16                       *DriverName;
+  CHAR16                       FormattedDriverName[40];
+  UINTN                        NumberOfChildren;
+  UINTN                        ControllerHandleCount;
+  EFI_HANDLE                   *ControllerHandleBuffer;
+  UINTN                        ChildControllerHandleCount;
+  CHAR16                       *ImageName;
+  BOOLEAN                      IsHelp;
+  SHELL_VAR_CHECK_CODE         RetCode;
+  CHAR16                       *Useful;
+  SHELL_ARG_LIST               *Item;
+  SHELL_VAR_CHECK_PACKAGE      ChkPck;
 
   Language                = NULL;
   DriverImageHandleCount  = 0;
@@ -237,25 +241,24 @@ Returns:
 
     Language = LibGetVariable (VarLanguage, &gEfiGlobalVariableGuid);
     if (Language == NULL) {
-      Language    = AllocatePool (4);
-      Language[0] = 'e';
-      Language[1] = 'n';
-      Language[2] = 'g';
-      Language[3] = 0;
+      Language = (CHAR8 *)AllocateZeroPool(strlena(LanguageCodeEnglish) + 1);
+      if (Language == NULL) {
+        return EFI_OUT_OF_RESOURCES;
+      }
+      strcpya(Language, LanguageCodeEnglish);
     }
 
     Item = LibCheckVarGetFlag (&ChkPck, L"-l");
     if (Item) {
-      if (StrLen (Item->VarStr) != 3) {
-        PrintToken (STRING_TOKEN (STR_SHELLENV_PROTID_DRIVERS_BAD_LANG), HiiHandle, L"drivers", Item->VarStr);
-        Status = EFI_INVALID_PARAMETER;
-        goto Done;
+      if (Language != NULL) {
+        FreePool (Language);
       }
 
-      for (StringIndex = 0; StringIndex < 3; StringIndex++) {
+      StringLength = StrLen (Item->VarStr);
+      Language    = AllocatePool (StringLength + 1);
+      for (StringIndex = 0; StringIndex < StringLength; StringIndex++) {
         Language[StringIndex] = (CHAR8) Item->VarStr[StringIndex];
       }
-
       Language[StringIndex] = 0;
     }
   }
@@ -309,15 +312,13 @@ Returns:
                   EFI_OPEN_PROTOCOL_GET_PROTOCOL
                   );
 
-    ComponentName = NULL;
-    Status = BS->OpenProtocol (
-                  DriverImageHandleBuffer[Index],
-                  &gEfiComponentNameProtocolGuid,
-                  (VOID **) &ComponentName,
-                  NULL,
-                  NULL,
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                  );
+    ComponentName  = NULL;
+    ComponentName2 = NULL;
+    Status = LibGetComponentNameProtocol (
+               DriverImageHandleBuffer[Index],
+               &ComponentName,
+               &ComponentName2
+               );
 
     DiagnosticsStatus = BS->OpenProtocol (
                               DriverImageHandleBuffer[Index],
@@ -396,9 +397,9 @@ Returns:
       PrintToken (STRING_TOKEN (STR_SHELLENV_PROTID_ONE_VAR_D), HiiHandle, NumberOfChildren);
     }
 
+    Status     = EFI_SUCCESS;
     DriverName = L"<UNKNOWN>";
     if (ComponentName != NULL) {
-
       if (ComponentName->GetDriverName != NULL) {
         Status = ComponentName->GetDriverName (
                                   ComponentName,
@@ -406,11 +407,20 @@ Returns:
                                   &DriverName
                                   );
       }
-
-      if (EFI_ERROR (Status)) {
-        DriverName = L"<UNKNOWN>";
+    } else if (ComponentName2 != NULL) {
+      if (ComponentName2->GetDriverName != NULL) {
+        SupportedLanguage = LibConvertComponentName2SupportLanguage (ComponentName2, Language);
+        Status = ComponentName2->GetDriverName (
+                                   ComponentName2,
+                                   SupportedLanguage,
+                                   &DriverName
+                                   );
+        FreePool(SupportedLanguage);
       }
     }
+    if (EFI_ERROR (Status)) {
+      DriverName = L"<UNKNOWN>";
+    }
 
     for (StringIndex = 0; StringIndex < StrLen (DriverName) && StringIndex < 35; StringIndex++) {
       FormattedDriverName[StringIndex] = DriverName[StringIndex];
index a2a8a66..b980711 100644 (file)
@@ -1,6 +1,6 @@
 /*++
  
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -26,7 +26,6 @@ Revision History
 #include "EfiShellLib.h"
 #include "drvcfg.h"
 
-#include EFI_PROTOCOL_DEFINITION (ComponentName)
 #include EFI_PROTOCOL_DEFINITION (DriverConfiguration)
 
 extern UINT8  STRING_ARRAY_NAME[];
@@ -402,7 +401,7 @@ Returns:
     DriverImageHandleBuffer[0] = DriverImageHandle;
   }
   //
-  // MARMAR:  We need to look at getting the component name exporters to support more than just "eng"
+  // MARMAR:  We need to look at getting the component name exporters to support more than just LANGUAGE_CODE_ENGLISH
   //
   for (Index = 0; Index < DriverImageHandleCount; Index++) {
     Status = BS->OpenProtocol (
@@ -1000,7 +999,7 @@ Returns:
     DriverImageHandleBuffer[0] = DriverImageHandle;
   }
   //
-  // MARMAR:  We need to look at getting the component name exporters to support more than just "eng"
+  // MARMAR:  We need to look at getting the component name exporters to support more than just LANGUAGE_CODE_ENGLISH
   //
   for (Index = 0; Index < DriverImageHandleCount; Index++) {
     Status = BS->OpenProtocol (
index 74f7084..71b2778 100644 (file)
@@ -34,7 +34,7 @@
 --*/
 
 [defines]
-BASE_NAME            = Drvcfg
+BASE_NAME            = DrvCfg
 FILE_GUID            = D9C14A2E-6CBE-488f-94A2-598CFB605D47
 COMPONENT_TYPE       = APPLICATION
 
index c25e5d9..1eb7d3e 100644 (file)
@@ -1,6 +1,6 @@
 /*++
  
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -26,7 +26,6 @@ Revision History
 #include "EfiShellLib.h"
 #include "drvdiag.h"
 
-#include EFI_PROTOCOL_DEFINITION (ComponentName)
 #include EFI_PROTOCOL_DEFINITION (DriverConfiguration)
 #include EFI_PROTOCOL_DEFINITION (DriverDiagnostics)
 #include EFI_PROTOCOL_DEFINITION (DriverBinding)
index 8537e0f..f27c238 100644 (file)
@@ -34,7 +34,7 @@
 --*/
 
 [defines]
-BASE_NAME            = Drvdiag
+BASE_NAME            = DrvDiag
 FILE_GUID            = CF747222-617C-4ef9-B75F-04B150470C8B
 COMPONENT_TYPE       = APPLICATION
 
index 1ae33ab..0a48e87 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = edit
+BASE_NAME            = Edit
 FILE_GUID            = 51A60577-F1F6-444a-A372-244BED272023
 COMPONENT_TYPE       = APPLICATION
 
index 55ce457..467e734 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = err
+BASE_NAME            = Err
 FILE_GUID            = 7ED86F56-5558-4d4f-A972-9307909AE9BA
 COMPONENT_TYPE       = APPLICATION
 
index 833a529..cf89b9e 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = hexedit
+BASE_NAME            = HexEdit
 FILE_GUID            = A5A41A42-5B2B-4de6-9556-DDC6DC31231C
 COMPONENT_TYPE       = APPLICATION
 
index 76b3e89..0561176 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = mem
+BASE_NAME            = Mem
 FILE_GUID            = 1B0B8206-74DC-4681-AA0D-039A9699EA56
 COMPONENT_TYPE       = APPLICATION
 
index d71f8e0..d9f5d72 100644 (file)
@@ -29,7 +29,7 @@ Revision History
 //
 #define EFI_MEMMAP_GUID \
   { \
-    0x3a7f5ef8, 0xd7af, 0x4e84, 0xa9, 0xb2, 0x14, 0x2d, 0x27, 0x1a, 0x26, 0xc2 \
+    0xc274da66, 0x2dc0, 0x4874, 0x9e, 0xaf, 0x30, 0x87, 0xe8, 0x1, 0xab, 0x30 \
   }
 
 #endif
index 03e8061..1d68c61 100644 (file)
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = memmap
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = MemMap
+FILE_GUID            = C274DA66-2DC0-4874-9EAF-3087E801AB30
 COMPONENT_TYPE       = APPLICATION
 
 
diff --git a/mm/mm.h b/mm/mm.h
index 4a6399a..8306f4c 100644 (file)
--- a/mm/mm.h
+++ b/mm/mm.h
@@ -29,7 +29,7 @@ Revision History
 //
 #define EFI_IOMOD_GUID \
   { \
-    0xc862bc8f, 0x85ab, 0x4f84, 0x92, 0x86, 0xcb, 0xea, 0xd2, 0x35, 0xdd, 0xaa \
+    0xc9f33f7c, 0x7d45, 0x4c1b, 0x8f, 0xe5, 0x4a, 0xeb, 0xff, 0x19, 0xb8, 0xec \
   }
 
 #endif
index 7530b37..4857d9e 100644 (file)
--- a/mm/mm.inf
+++ b/mm/mm.inf
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = mm
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = Mm
+FILE_GUID            = C9F33F7C-7D45-4c1b-8FE5-4AEBFF19B8EC
 COMPONENT_TYPE       = APPLICATION
 
 
index df621c2..eadbac1 100644 (file)
@@ -26,7 +26,7 @@ Revision History
 
 #define EFI_MODE_GUID \
   { \
-    0xf4a14f35, 0xb2ac, 0x4b3f, 0x97, 0xb9, 0x6, 0x9, 0x94, 0x6c, 0x25, 0xac \
+    0x3df0dcbf, 0x5ca4, 0x4265, 0xb2, 0xb5, 0xeb, 0x88, 0x21, 0x35, 0xf3, 0x63 \
   }
 
-#endif
\ No newline at end of file
+#endif
index 01d3ff0..47e5c80 100644 (file)
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = mode
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = Mode
+FILE_GUID            = 3DF0DCBF-5CA4-4265-B2B5-EB882135F363
 COMPONENT_TYPE       = APPLICATION
 
 
index 84afe3e..afd795e 100644 (file)
@@ -29,7 +29,7 @@ Revision History
 
 #define EFI_MOUNT_GUID \
   { \
-    0x6a4af0d3, 0x5470, 0x4c10, 0x93, 0x9f, 0xb2, 0xda, 0xb1, 0x2c, 0x22, 0xc3 \
+    0xd2ab9ff8, 0xdbce, 0x423d, 0xa8, 0x6c, 0x3, 0x93, 0x3e, 0xe7, 0x9, 0x21 \
   }
 
 #endif
index e739df5..922c490 100644 (file)
@@ -35,7 +35,7 @@
 
 [defines]
 BASE_NAME            = Mount
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+FILE_GUID            = D2AB9FF8-DBCE-423d-A86C-03933EE70921
 COMPONENT_TYPE       = APPLICATION
 
 
index ac732c6..fdd070d 100644 (file)
@@ -29,7 +29,7 @@ Revision History
 
 #define EFI_OPENINFO_GUID \
   { \
-    0xf808f462, 0x99e8, 0x4ded, 0xaa, 0xcd, 0xfe, 0x78, 0xe9, 0x6e, 0x70, 0xf7 \
+    0x1f894d67, 0xea9, 0x4581, 0xb7, 0x61, 0xac, 0x2a, 0x77, 0xa4, 0x63, 0xf3 \
   }
 
 #endif
index 7c14b07..638462d 100644 (file)
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = Openinfo
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = OpenInfo
+FILE_GUID            = 1F894D67-0EA9-4581-B761-AC2A77A463F3
 COMPONENT_TYPE       = APPLICATION
 
 
index d464988..7e1ab5f 100644 (file)
--- a/pci/pci.h
+++ b/pci/pci.h
@@ -27,7 +27,7 @@ Revision History
 
 #define EFI_PCI_GUID \
   { \
-    0x784a9091, 0x6ccc, 0x41aa, 0xb8, 0x61, 0x51, 0xbc, 0x2, 0x9b, 0xf3, 0x26 \
+    0x388da6c3, 0x3447, 0x4b1f, 0xa0, 0xba, 0xa9, 0xe8, 0xa2, 0x87, 0xf1, 0x76 \
   }
 
 #include "TIANO.h"
index 00102ec..d4499d6 100644 (file)
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = pci
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = Pci
+FILE_GUID            = 388DA6C3-3447-4b1f-A0BA-A9E8A287F176
 COMPONENT_TYPE       = APPLICATION
 
 
diff --git a/rm/rm.h b/rm/rm.h
index 25ee48d..837ca7c 100644 (file)
--- a/rm/rm.h
+++ b/rm/rm.h
@@ -33,7 +33,7 @@ Revision History
 
 #define EFI_RM_GUID \
   { \
-    0x2fdbc381, 0xaaf5, 0x4907, 0xb1, 0x29, 0x8a, 0xc1, 0x71, 0xc4, 0xc1, 0x1 \
+    0x38eec554, 0xd163, 0x49f0, 0xac, 0xfa, 0x24, 0x2f, 0xa9, 0xf8, 0x45, 0xfb \
   }
 
 extern UINT8          STRING_ARRAY_NAME[];
@@ -58,4 +58,4 @@ RemoveRM (
   IN BOOLEAN                  Quiet
   );
 
-#endif
\ No newline at end of file
+#endif
index ed6ee5d..0da05e0 100644 (file)
--- a/rm/rm.inf
+++ b/rm/rm.inf
@@ -35,7 +35,7 @@
 
 [defines]
 BASE_NAME            = Rm
-FILE_GUID            = 790BF131-A698-4e23-8837-62C0CC8FC541
+FILE_GUID            = 38EEC554-D163-49f0-ACFA-242FA9F845FB
 COMPONENT_TYPE       = APPLICATION
 
 
index ad02a37..71a719b 100644 (file)
@@ -28,7 +28,7 @@ Revision History
 //
 #define EFI_SERMODEB_GUID \
   { \
-    0xd2c64f3b, 0x6850, 0x4bf3, 0x9d, 0x28, 0xb4, 0x86, 0xb4, 0x51, 0x5, 0xa3 \
+    0x72c4e87d, 0x28e, 0x414c, 0x86, 0x34, 0xc3, 0xee, 0x4d, 0xc9, 0x84, 0xd8 \
   }
 
-#endif
\ No newline at end of file
+#endif
index 0b0b9ca..71f3c66 100644 (file)
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = sermode
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = SerMode
+FILE_GUID            = 72C4E87D-028E-414c-8634-C3EE4DC984D8
 COMPONENT_TYPE       = APPLICATION
 
 
index fb85a10..94d64c8 100644 (file)
@@ -451,7 +451,33 @@ EFIAPI
 InitializeEFIHexEditorGetLineHelp (
   OUT CHAR16              **Str
   );
-  
+
+EFI_STATUS
+EFIAPI
+Ping (
+  IN  EFI_HANDLE        ImageHandle,
+  IN  EFI_SYSTEM_TABLE  *SystemTable
+  );
+
+EFI_STATUS
+EFIAPI
+PingGetLineHelp (
+  OUT CHAR16              **Str
+  );
+
+EFI_STATUS
+EFIAPI
+IfConfig (
+  IN  EFI_HANDLE                ImageHandle,
+  IN  EFI_SYSTEM_TABLE          *SystemTable
+  );
+
+EFI_STATUS
+EFIAPI
+IfConfigGetLineHelp (
+  OUT CHAR16              **Str
+  );
+
 EFI_STATUS
 EFIAPI
 InitializeIpConfig (
@@ -807,6 +833,12 @@ SEnvInternalCommands[] = {
   InitializeEFIHexEditor,
   L"hexedit",
   InitializeEFIHexEditorGetLineHelp,
+  Ping,
+  L"ping",
+  PingGetLineHelp,
+  IfConfig,
+  L"ifconfig",
+  IfConfigGetLineHelp,
   InitializeIpConfig,
   L"ipconfig",
   InitializeIpConfigGetLineHelp,
index a7dd5d7..da1733a 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -435,7 +435,7 @@ DumpMappingItem (
       PrintToken (STRING_TOKEN (STR_SHELLENV_MAP_HANDLE_NOT_FOUND), HiiEnvHandle, SLen + 3);
     } else {
       PrintToken (STRING_TOKEN (STR_SHELLENV_MAP_HANDLE), HiiEnvHandle, SLen + 3, L"");
-      SEnvDHProt (FALSE, FALSE, 0, DeviceHandle, "eng");
+      SEnvDHProt (FALSE, FALSE, 0, DeviceHandle, LanguageCodeEnglish);
     }
 
     PrintToken (STRING_TOKEN (STR_SHELLENV_MAP_MEDIA_TYPE), HiiEnvHandle, SLen, L"", MediaName);
@@ -2482,7 +2482,7 @@ Returns:
       PrintToken (STRING_TOKEN (STR_SHELLENV_MAP_HANDLE_NOT_FOUND), HiiEnvHandle, SLen + 3);
     } else {
       PrintToken (STRING_TOKEN (STR_SHELLENV_MAP_HANDLE), HiiEnvHandle, SLen + 3, L"");
-      SEnvDHProt (FALSE, FALSE, 0, DeviceHandle, "eng");
+      SEnvDHProt (FALSE, FALSE, 0, DeviceHandle, LanguageCodeEnglish);
     }
     //
     // print current directory for this mapping
index c03bd5b..dd217ff 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -409,18 +409,6 @@ SEnvInternalProtocolInfo[] = {
   NULL
 };
 
-//
-// put supported lanuage here.
-//
-struct {
-  CHAR16  *IdString;
-}
-SLanguageTable[] = {
-  L"eng",
-  L"fra",
-  NULL
-};
-
 //
 // SEnvProtocolInfo - A list of all known protocol info structures
 //
@@ -990,10 +978,12 @@ GetDriverName (
   )
 
 {
-  EFI_STATUS                  Status;
-  EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
-  EFI_LOADED_IMAGE_PROTOCOL   *Image;
-  EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
+  EFI_STATUS                    Status;
+  EFI_DRIVER_BINDING_PROTOCOL   *DriverBinding;
+  EFI_LOADED_IMAGE_PROTOCOL     *Image;
+  EFI_COMPONENT_NAME_PROTOCOL   *ComponentName;
+  EFI_COMPONENT_NAME2_PROTOCOL  *ComponentName2;
+  CHAR8                         *SupportedLanguage;
 
   *DriverName = NULL;
 
@@ -1022,24 +1012,29 @@ GetDriverName (
       *DriverName = LibDevicePathToStr (Image->FilePath);
     }
   } else {
-    Status = BS->OpenProtocol (
-                  DriverBindingHandle,
-                  &gEfiComponentNameProtocolGuid,
-                  (VOID **) &ComponentName,
-                  NULL,
-                  NULL,
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                  );
+    Status = LibGetComponentNameProtocol (
+               DriverBindingHandle, 
+               &ComponentName,
+               &ComponentName2
+               );
     if (!EFI_ERROR (Status)) {
       //
       // Make sure the interface has been implemented
       //
-      if (ComponentName->GetDriverName != NULL) {
+      if ((ComponentName != NULL) && (ComponentName->GetDriverName != NULL)) {
         Status = ComponentName->GetDriverName (
                                   ComponentName,
                                   Language,
                                   DriverName
                                   );
+      } else if ((ComponentName2 != NULL) && (ComponentName2->GetDriverName != NULL)) {
+        SupportedLanguage = LibConvertComponentName2SupportLanguage (ComponentName2, Language);
+        Status = ComponentName2->GetDriverName (
+                                   ComponentName2,
+                                   SupportedLanguage,
+                                   DriverName
+                                   );
+        FreePool(SupportedLanguage);
       }
     }
   }
@@ -1078,6 +1073,8 @@ SEnvGetDeviceName (
   EFI_DEVICE_PATH_PROTOCOL    *DevicePath;
   CHAR16                      *ControllerName;
   EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
+  EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2;
+  CHAR8                       *SupportedLanguage;
   UINTN                       Index;
   BOOLEAN                     First;
 
@@ -1131,21 +1128,18 @@ SEnvGetDeviceName (
       *DiagnosticsStatus = EFI_SUCCESS;
     }
 
-    Status = BS->OpenProtocol (
-                  DriverBindingHandleBuffer[HandleIndex],
-                  &gEfiComponentNameProtocolGuid,
-                  (VOID **) &ComponentName,
-                  NULL,
-                  NULL,
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                  );
+    Status = LibGetComponentNameProtocol (
+               DriverBindingHandleBuffer[HandleIndex], 
+               &ComponentName,
+               &ComponentName2
+               );
     if (EFI_ERROR (Status)) {
       continue;
     }
     //
     // Make sure this interface has been implemented
     //
-    if (ComponentName->GetControllerName != NULL) {
+    if ((ComponentName != NULL) && (ComponentName->GetControllerName != NULL)) {
       Status = ComponentName->GetControllerName (
                                 ComponentName,
                                 DeviceHandle,
@@ -1153,6 +1147,16 @@ SEnvGetDeviceName (
                                 Language,
                                 &ControllerName
                                 );
+    } else if ((ComponentName2 != NULL) && (ComponentName2->GetControllerName != NULL)) {
+      SupportedLanguage = LibConvertComponentName2SupportLanguage (ComponentName2, Language);
+      Status = ComponentName2->GetControllerName (
+                                 ComponentName2,
+                                 DeviceHandle,
+                                 NULL,
+                                 SupportedLanguage,
+                                 &ControllerName
+                                 );
+      FreePool(SupportedLanguage);
     } else {
       Status = EFI_UNSUPPORTED;
     }
@@ -1230,21 +1234,18 @@ SEnvGetDeviceName (
             *DiagnosticsStatus = EFI_SUCCESS;
           }
 
-          Status = BS->OpenProtocol (
-                        ParentDriverBindingHandleBuffer[ParentDriverIndex],
-                        &gEfiComponentNameProtocolGuid,
-                        (VOID **) &ComponentName,
-                        NULL,
-                        NULL,
-                        EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                        );
+          Status = LibGetComponentNameProtocol (
+                     ParentDriverBindingHandleBuffer[ParentDriverIndex], 
+                     &ComponentName,
+                     &ComponentName2
+                     );
           if (EFI_ERROR (Status)) {
             continue;
           }
           //
           // Make sure this interface has been implemented
           //
-          if (ComponentName->GetControllerName != NULL) {
+          if ((ComponentName != NULL) && (ComponentName->GetControllerName != NULL)) {
             Status = ComponentName->GetControllerName (
                                       ComponentName,
                                       ParentControllerHandleBuffer[HandleIndex],
@@ -1252,6 +1253,16 @@ SEnvGetDeviceName (
                                       Language,
                                       &ControllerName
                                       );
+          } else if ((ComponentName2 != NULL) && (ComponentName2->GetControllerName != NULL)) {
+            SupportedLanguage = LibConvertComponentName2SupportLanguage (ComponentName2, Language);
+            Status = ComponentName2->GetControllerName (
+                                       ComponentName2,
+                                       ParentControllerHandleBuffer[HandleIndex],
+                                       DeviceHandle,
+                                       SupportedLanguage,
+                                       &ControllerName
+                                       );
+            FreePool(SupportedLanguage);
           } else {
             Status = EFI_UNSUPPORTED;
           }
@@ -1353,7 +1364,6 @@ Returns:
   UINTN                       Index;
   CHAR16                      *DriverName;
   EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
-  EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
   UINTN                       NumberOfChildren;
   UINTN                       HandleIndex;
   UINTN                       ControllerHandleCount;
@@ -1583,16 +1593,6 @@ Returns:
     return EFI_SUCCESS;
   }
 
-  ComponentName = NULL;
-  Status = BS->OpenProtocol (
-                Handle,
-                &gEfiComponentNameProtocolGuid,
-                (VOID **) &ComponentName,
-                NULL,
-                NULL,
-                EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                );
-
   DiagnosticsStatus = BS->OpenProtocol (
                             Handle,
                             &gEfiDriverDiagnosticsProtocolGuid,
@@ -1954,11 +1954,8 @@ Returns:
   }
 
   if (Language == NULL) {
-    Language    = AllocatePool (4);
-    Language[0] = 'e';
-    Language[1] = 'n';
-    Language[2] = 'g';
-    Language[3] = 0;
+    Language = (CHAR8 *) AllocatePool(strlena(LanguageCodeEnglish) + 1);
+    strcpya (Language, LanguageCodeEnglish);
   }
 
   RetCode = LibCheckVariables (SI, DHCheckList, &ChkPck, &Useful);
@@ -2031,20 +2028,12 @@ Returns:
 
   Item = LibCheckVarGetFlag (&ChkPck, L"-l");
   if (Item) {
-    for (Index = 0; SLanguageTable[Index].IdString; Index++) {
-      if (StriCmp (Item->VarStr, SLanguageTable[Index].IdString) == 0) {
-        break;
-      }
+    if (Language != NULL) {
+      FreePool(Language);
     }
-
-    if (SLanguageTable[Index].IdString == NULL) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_PROTID_DH_BAD_LANG), HiiEnvHandle, L"dh", Item->VarStr);
-      Status = EFI_INVALID_PARAMETER;
-      goto Done;
-    } else {
-      for (StringIndex = 0; StringIndex < 3; StringIndex++) {
-        Language[StringIndex] = (CHAR8) Item->VarStr[StringIndex];
-      }
+    Language = (CHAR8 *) AllocateZeroPool(StrLen(Item->VarStr));
+    for (StringIndex = 0; Item->VarStr[StringIndex] != L'\0'; StringIndex++) {
+      Language[StringIndex] = (CHAR8) Item->VarStr[StringIndex];
     }
   }
 
index f33ccbb..a326e41 100644 (file)
@@ -26,7 +26,7 @@ Revision History
 
 #define EFI_STALL_GUID \
   { \
-    0x484f4048, 0x2b93, 0x4a51, 0x8d, 0x44, 0x8a, 0x6c, 0x73, 0x47, 0xd1, 0xcc \
+    0xc17a7da5, 0xcf05, 0x4c80, 0xa3, 0x30, 0x74, 0xe6, 0x44, 0xd4, 0x4e, 0x98 \
   }
 
-#endif
\ No newline at end of file
+#endif
index 578b58e..58545a5 100644 (file)
@@ -34,8 +34,8 @@
 --*/
 
 [defines]
-BASE_NAME            = stall
-FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
+BASE_NAME            = Stall
+FILE_GUID            = C17A7DA5-CF05-4c80-A330-74E644D44E98
 COMPONENT_TYPE       = APPLICATION
 
 
index 25efd09..b3c170c 100644 (file)
@@ -26,7 +26,7 @@ Revision History
 
 #define EFI_TYPE_GUID \
   { \
-    0x98c7bac3, 0x2ec9, 0x4998, 0xb1, 0x12, 0xff, 0xe2, 0x73, 0x58, 0xea, 0xff \
+    0x586ebd48, 0xcfa2, 0x476a, 0xad, 0xe1, 0x55, 0x12, 0xa2, 0x71, 0xdc, 0x88 \
   }
 
-#endif
\ No newline at end of file
+#endif
index e766baf..efb0a82 100644 (file)
@@ -35,7 +35,7 @@
 
 [defines]
 BASE_NAME            = Type
-FILE_GUID            = F0A46072-8791-42a5-ABC5-33DA5FA6D2E3
+FILE_GUID            = 586EBD48-CFA2-476a-ADE1-5512A271DC88
 COMPONENT_TYPE       = APPLICATION
 
 
index 480508a..57834c6 100644 (file)
@@ -20,7 +20,7 @@
 #--*/
 
 [defines]
-BASE_NAME            = timezone
+BASE_NAME            = TimeZone
 FILE_GUID            = E27B12B9-2647-4af3-ADBC-B5AB5FB50421
 COMPONENT_TYPE       = APPLICATION
 
index d86f8b4..bc7e0a5 100644 (file)
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2006, Intel Corporation                                                         
+Copyright (c) 2005 - 2007, Intel Corporation                                                         
 All rights reserved. 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         
@@ -79,10 +79,12 @@ _UnloadGetDriverName (
   )
 
 {
-  EFI_STATUS                  Status;
-  EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
-  EFI_LOADED_IMAGE_PROTOCOL   *Image;
-  EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
+  EFI_STATUS                   Status;
+  EFI_DRIVER_BINDING_PROTOCOL  *DriverBinding;
+  EFI_LOADED_IMAGE_PROTOCOL    *Image;
+  EFI_COMPONENT_NAME_PROTOCOL  *ComponentName;
+  EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2;
+  CHAR8                        *SupportedLanguage;
 
   *DriverName = NULL;
 
@@ -111,25 +113,32 @@ _UnloadGetDriverName (
       *DriverName = LibDevicePathToStr (Image->FilePath);
     }
   } else {
-    Status = BS->OpenProtocol (
-                  DriverBindingHandle,
-                  &gEfiComponentNameProtocolGuid,
-                  (VOID **) &ComponentName,
-                  NULL,
-                  NULL,
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                  );
-    if (!EFI_ERROR (Status)) {
-      //
-      // Make sure the interface has been implemented
-      //
-      if (ComponentName->GetDriverName != NULL) {
-        Status = ComponentName->GetDriverName (
-                                  ComponentName,
-                                  Language,
-                                  DriverName
-                                  );
-      }
+    Status = LibGetComponentNameProtocol(
+               DriverBinding->ImageHandle, 
+               &ComponentName, 
+               &ComponentName2
+               );
+    if (EFI_ERROR(Status)) {
+      return EFI_SUCCESS;
+    }
+
+    //
+    // Make sure the interface has been implemented
+    //
+    if ((ComponentName != NULL) && (ComponentName->GetDriverName != NULL)) {
+      Status = ComponentName->GetDriverName (
+                                 ComponentName,
+                                 Language,
+                                 DriverName
+                                 );
+    } else if ((ComponentName2 != NULL) && (ComponentName2->GetDriverName != NULL)) {
+      SupportedLanguage = LibConvertComponentName2SupportLanguage (ComponentName2, Language);
+      Status = ComponentName2->GetDriverName (
+                                 ComponentName2,
+                                 SupportedLanguage,
+                                 DriverName
+                                 );
+      FreePool(SupportedLanguage);
     }
   }
 
@@ -169,7 +178,6 @@ Returns:
   UINTN                       Index;
   CHAR16                      *DriverName;
   EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
-  EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
   UINTN                       NumberOfChildren;
   UINTN                       HandleIndex;
   UINTN                       ControllerHandleCount;
@@ -398,16 +406,6 @@ Returns:
     return EFI_SUCCESS;
   }
 
-  ComponentName = NULL;
-  Status = BS->OpenProtocol (
-                Handle,
-                &gEfiComponentNameProtocolGuid,
-                (VOID **) &ComponentName,
-                NULL,
-                NULL,
-                EFI_OPEN_PROTOCOL_GET_PROTOCOL
-                );
-
   DiagnosticsStatus = BS->OpenProtocol (
                             Handle,
                             &gEfiDriverDiagnosticsProtocolGuid,
@@ -874,7 +872,7 @@ Returns:
     Status = EFI_INVALID_PARAMETER;
   } else {
     TargetHandle = ShellHandleFromIndex (Index);
-    _DHProt (Verbose, FALSE, Index + 1, TargetHandle, "eng");
+    _DHProt (Verbose, FALSE, Index + 1, TargetHandle, LanguageCodeEnglish);
     //
     // Make sure it is an image handle to a protocol
     //
index d1eef46..71d2cb5 100644 (file)
@@ -35,7 +35,7 @@
 
 [defines]
 BASE_NAME            = Vol
-FILE_GUID            = 86D2167C-42D6-4bcc-B33D-2DDE2E24C6DA
+FILE_GUID            = DE670178-F114-45e5-8AC0-1DDF588938DA
 COMPONENT_TYPE       = APPLICATION
 
 
index 30fece6..0d345dd 100644 (file)
--- a/vol/vol.h
+++ b/vol/vol.h
@@ -28,7 +28,7 @@ Revision History
 //
 #define EFI_VOL_GUID \
   { \
-    0xCAED85D9, 0xF30C, 0x2F08, 0xB7, 0xA6, 0x83, 0xEE, 0x32, 0xA1, 0xC7, 0x06 \
+    0xde670178, 0xf114, 0x45e5, 0x8a, 0xc0, 0x1d, 0xdf, 0x58, 0x89, 0x38, 0xda \
   }
 
 #endif