diff --ignore-file-name-case -Naur ShellR33/attrib/attrib.c GccShellR33/attrib/attrib.c
--- ShellR33/attrib/attrib.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/attrib/attrib.c	2009-11-05 13:49:56.000000000 -0800
@@ -57,7 +57,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiAttribGuid = EFI_ATTRIB_GUID;
 SHELL_VAR_CHECK_ITEM    AttribCheckList[] = {
   {
@@ -438,7 +438,7 @@
     //
     Info = Arg->Info;
     if (Add || Remove) {
-      Info->Attribute = Info->Attribute & (~Remove) | Add;
+      Info->Attribute = (Info->Attribute & (~Remove)) | Add;
       Status = Arg->Handle->SetInfo (
                               Arg->Handle,
                               &gEfiFileInfoGuid,
diff --ignore-file-name-case -Naur ShellR33/attrib/attrib.h GccShellR33/attrib/attrib.h
--- ShellR33/attrib/attrib.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/attrib/attrib.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0xcd691c77, 0xfc45, 0x4d7b, 0xb8, 0x92, 0x92, 0xa, 0x86, 0x2d, 0x67, 0xdc \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/attrib/attrib.inf GccShellR33/attrib/attrib.inf
--- ShellR33/attrib/attrib.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/attrib/attrib.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,24 +41,24 @@
 
 [sources.common]
    AttribStrings.uni      
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    attrib.c             
    attrib.h             
     
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/cls/cls.c GccShellR33/cls/cls.c
--- ShellR33/cls/cls.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/cls/cls.c	2009-11-05 13:49:56.000000000 -0800
@@ -30,7 +30,7 @@
 //
 #include STRING_DEFINES_FILE
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiClsGuid = EFI_CLS_GUID;
 SHELL_VAR_CHECK_ITEM    ClsCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/cls/cls.inf GccShellR33/cls/cls.inf
--- ShellR33/cls/cls.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/cls/cls.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    ClsStrings.uni
    Cls.c
    Cls.h 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/comp/comp.h GccShellR33/comp/comp.h
--- ShellR33/comp/comp.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/comp/comp.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0x7761e2c2, 0x7297, 0x434d, 0xb6, 0x52, 0xa9, 0x76, 0x91, 0xb8, 0x66, 0xf3 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/comp/comp.inf GccShellR33/comp/comp.inf
--- ShellR33/comp/comp.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/comp/comp.inf	2009-09-22 15:37:05.000000000 -0700
@@ -28,21 +28,21 @@
 CompStrings.uni
 comp.c
 comp.h
-..\ShCommonStrings.uni
+../ShCommonStrings.uni
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/cp/cp.c GccShellR33/cp/cp.c
--- ShellR33/cp/cp.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/cp/cp.c	2009-09-22 15:37:05.000000000 -0700
@@ -578,7 +578,7 @@
     //
     if (SrcArg->Status == EFI_SUCCESS &&
         (SrcArg->Info->Attribute & EFI_FILE_DIRECTORY) &&
-        (DstArg->Status == EFI_SUCCESS && (DstArg->Info->Attribute & EFI_FILE_DIRECTORY) || DstMustDir && DstHandle)
+        (DstArg->Status == (EFI_SUCCESS && (DstArg->Info->Attribute & EFI_FILE_DIRECTORY)) || (DstMustDir && DstHandle))
         ) {
       if (StrCmp (SrcFilePath, DstFilePath) == 0) {
         PrintToken (STRING_TOKEN (STR_CP_CANNOT_COPY_ITSELF), HiiCpyHandle, L"cp/copy", SrcArg->FullName);
@@ -592,7 +592,7 @@
     // we need to compose a full name of dir\file for the source
     //
     if (SrcArg->Status == EFI_SUCCESS &&
-      (DstArg->Status == EFI_SUCCESS && (DstArg->Info->Attribute & EFI_FILE_DIRECTORY) || DstMustDir && DstHandle)) {
+      (DstArg->Status == (EFI_SUCCESS && (DstArg->Info->Attribute & EFI_FILE_DIRECTORY)) || (DstMustDir && DstHandle))) {
       if (DstFullName) {
         FreePool (DstFullName);
       }
@@ -1789,7 +1789,7 @@
     //
     if (SrcArg->Status == EFI_SUCCESS &&
         !(SrcArg->Info->Attribute & EFI_FILE_DIRECTORY) &&
-        (DstArg->Status == EFI_SUCCESS && (DstArg->Info->Attribute & EFI_FILE_DIRECTORY) || DstDir && DstHandle)
+        (DstArg->Status == (EFI_SUCCESS && (DstArg->Info->Attribute & EFI_FILE_DIRECTORY)) || (DstDir && DstHandle))
         ) {
       if (DstFullName) {
         FreePool (DstFullName);
diff --ignore-file-name-case -Naur ShellR33/cp/cp.h GccShellR33/cp/cp.h
--- ShellR33/cp/cp.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/cp/cp.h	2009-11-05 13:49:56.000000000 -0800
@@ -67,4 +67,4 @@
   IN EFI_SYSTEM_TABLE     *SystemTable
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/cp/cp.inf GccShellR33/cp/cp.inf
--- ShellR33/cp/cp.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/cp/cp.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,23 +41,23 @@
 
 [sources.common]
   CpStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   cp.h
   cp.c
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/date/date.c GccShellR33/date/date.c
--- ShellR33/date/date.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/date/date.c	2009-09-22 15:37:05.000000000 -0700
@@ -126,8 +126,8 @@
 {
   EFI_STATUS              Status;
   EFI_TIME                Time;
-  UINTN                   Offset;
-  UINTN                   Data;
+  INTN                    Offset;
+  INTN                    Data;
   EFI_HII_HANDLE          HiiHandle;
   SHELL_VAR_CHECK_PACKAGE ChkPck;
   CHAR16                  *Useful;
diff --ignore-file-name-case -Naur ShellR33/date/date.inf GccShellR33/date/date.inf
--- ShellR33/date/date.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/date/date.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    DateStrings.uni
    Date.c
    Date.h 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/dblk/dblk.h GccShellR33/dblk/dblk.h
--- ShellR33/dblk/dblk.h	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/dblk/dblk.h	2009-09-22 15:37:05.000000000 -0700
@@ -33,7 +33,7 @@
     0xded389c0, 0x956a, 0x4244, 0xae, 0x98, 0xc9, 0x7f, 0xa0, 0x81, 0xca, 0xd8 \
   }
   
-#define EFI_PARTITION_SIGNATURE       0x5053595320494249
+#define EFI_PARTITION_SIGNATURE       0x5053595320494249ULL
 typedef struct _EFI_PARTITION_HEADER {
   EFI_TABLE_HEADER  Hdr;
   UINT32            DirectoryAllocationNumber;
diff --ignore-file-name-case -Naur ShellR33/dblk/dblk.inf GccShellR33/dblk/dblk.inf
--- ShellR33/dblk/dblk.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/dblk/dblk.inf	2009-09-22 15:37:05.000000000 -0700
@@ -26,23 +26,23 @@
 
 [sources.common]
   DblkStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   dblk.c
   efidump.c
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/dblk/efidump.c GccShellR33/dblk/efidump.c
--- ShellR33/dblk/efidump.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/dblk/efidump.c	2009-09-22 19:19:20.000000000 -0700
@@ -24,7 +24,7 @@
 --*/
 
 #include "dblk.h"
-#include "Efipart.h"
+#include "EfiPart.h"
 #include "EfiShellLib.h"
 
 #include STRING_DEFINES_FILE
@@ -352,34 +352,34 @@
     PrintToken (STRING_TOKEN (STR_DEBUG_STD_ERROR_ON), HiiDblkHandle, LibDevicePathToStr (DevicePath));
   }
 
-  PrintToken (STRING_TOKEN (STR_DEBUG_RUNTIME_SERVICES), HiiDblkHandle, (UINT64) Tbl.Sys->RuntimeServices);
-  PrintToken (STRING_TOKEN (STR_DEBUG_BOOT_SERVICES), HiiDblkHandle, (UINT64) Tbl.Sys->BootServices);
+  PrintToken (STRING_TOKEN (STR_DEBUG_RUNTIME_SERVICES), HiiDblkHandle, (UINT64)(UINTN)Tbl.Sys->RuntimeServices);
+  PrintToken (STRING_TOKEN (STR_DEBUG_BOOT_SERVICES), HiiDblkHandle, (UINT64)(UINTN)Tbl.Sys->BootServices);
 
   EFI64_CODE (
     Status = LibGetSystemConfigurationTable(&gEfiSalSystemTableGuid, &SalSystemTable);
     if (!EFI_ERROR(Status)) {
-      PrintToken (STRING_TOKEN(STR_DEBUG_SAL_SYSTEM_TABLE), HiiDblkHandle, (UINT64)SalSystemTable);
+      PrintToken (STRING_TOKEN(STR_DEBUG_SAL_SYSTEM_TABLE), HiiDblkHandle, (UINT64)(UINTN)SalSystemTable);
     }
   )
 
   Status = LibGetSystemConfigurationTable (&gEfiAcpiTableGuid, &AcpiTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_ACPI_TABLE), HiiDblkHandle, (UINT64) AcpiTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_ACPI_TABLE), HiiDblkHandle, (UINT64)(UINTN)AcpiTable);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiAcpi20TableGuid, &Acpi20Table);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_APCI_2_TABLE), HiiDblkHandle, (UINT64) Acpi20Table);
+    PrintToken (STRING_TOKEN (STR_DEBUG_APCI_2_TABLE), HiiDblkHandle, (UINT64)(UINTN)Acpi20Table);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiMpsTableGuid, &MpsTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_MPS_TABLE), HiiDblkHandle, (UINT64) MpsTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_MPS_TABLE), HiiDblkHandle, (UINT64)(UINTN)MpsTable);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiSmbiosTableGuid, &SMBIOSTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_SMBIOS_TABLE), HiiDblkHandle, (UINT64) SMBIOSTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_SMBIOS_TABLE), HiiDblkHandle, (UINT64)(UINTN)SMBIOSTable);
   }
 }
 
diff --ignore-file-name-case -Naur ShellR33/devices/devices.c GccShellR33/devices/devices.c
--- ShellR33/devices/devices.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/devices/devices.c	2009-11-05 13:49:56.000000000 -0800
@@ -36,7 +36,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDevicesGuid = EFI_DEVICES_GUID;
 SHELL_VAR_CHECK_ITEM    DevicesCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/devices/devices.inf GccShellR33/devices/devices.inf
--- ShellR33/devices/devices.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/devices/devices.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,23 +41,23 @@
 
 [sources.common]
   DevicesStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   devices.c
   devices.h
     
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/DeviceTree/devicetree.c GccShellR33/DeviceTree/devicetree.c
--- ShellR33/DeviceTree/devicetree.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/DeviceTree/devicetree.c	2009-11-05 13:49:56.000000000 -0800
@@ -36,7 +36,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDevicetreeGuid = EFI_DEVICETREE_GUID;
 SHELL_VAR_CHECK_ITEM    DevicetreeCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/DeviceTree/devicetree.inf GccShellR33/DeviceTree/devicetree.inf
--- ShellR33/DeviceTree/devicetree.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/DeviceTree/devicetree.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   DevicetreeStrings.uni
   devicetree.c
   devicetree.h
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/dmem/debug.h GccShellR33/dmem/debug.h
--- ShellR33/dmem/debug.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/dmem/debug.h	2009-09-22 15:37:05.000000000 -0700
@@ -26,7 +26,7 @@
 #include "EfiShellLib.h"
 #include EFI_PROTOCOL_DEFINITION (BlockIo)
 
-#define EFI_PARTITION_SIGNATURE       0x5053595320494249
+#define EFI_PARTITION_SIGNATURE       0x5053595320494249ULL
 typedef struct _EFI_PARTITION_HEADER {
   EFI_TABLE_HEADER  Hdr;
   UINT32            DirectoryAllocationNumber;
diff --ignore-file-name-case -Naur ShellR33/dmem/dmem.inf GccShellR33/dmem/dmem.inf
--- ShellR33/dmem/dmem.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/dmem/dmem.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   MemStrings.uni
   DebugStrings.uni  
   mem.c
@@ -34,17 +34,17 @@
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/dmem/efidump.c GccShellR33/dmem/efidump.c
--- ShellR33/dmem/efidump.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/dmem/efidump.c	2009-09-22 19:19:20.000000000 -0700
@@ -24,7 +24,7 @@
 --*/
 
 #include "debug.h"
-#include "Efipart.h"
+#include "EfiPart.h"
 #include "EfiShellLib.h"
 
 #include STRING_DEFINES_FILE
@@ -352,34 +352,34 @@
     PrintToken (STRING_TOKEN (STR_DEBUG_STD_ERROR_ON), HiiDmemHandle, LibDevicePathToStr (DevicePath));
   }
 
-  PrintToken (STRING_TOKEN (STR_DEBUG_RUNTIME_SERVICES), HiiDmemHandle, (UINT64) Tbl.Sys->RuntimeServices);
-  PrintToken (STRING_TOKEN (STR_DEBUG_BOOT_SERVICES), HiiDmemHandle, (UINT64) Tbl.Sys->BootServices);
+  PrintToken (STRING_TOKEN (STR_DEBUG_RUNTIME_SERVICES), HiiDmemHandle, (UINT64)(UINTN)Tbl.Sys->RuntimeServices);
+  PrintToken (STRING_TOKEN (STR_DEBUG_BOOT_SERVICES), HiiDmemHandle, (UINT64)(UINTN)Tbl.Sys->BootServices);
 
   EFI64_CODE (
     Status = LibGetSystemConfigurationTable(&gEfiSalSystemTableGuid, &SalSystemTable);
     if (!EFI_ERROR(Status)) {
-      PrintToken (STRING_TOKEN(STR_DEBUG_SAL_SYSTEM_TABLE), HiiDmemHandle, (UINT64)SalSystemTable);
+      PrintToken (STRING_TOKEN(STR_DEBUG_SAL_SYSTEM_TABLE), HiiDmemHandle, (UINT64)(UINTN)SalSystemTable);
     }
   )
   
   Status = LibGetSystemConfigurationTable (&gEfiAcpiTableGuid, &AcpiTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_ACPI_TABLE), HiiDmemHandle, (UINT64) AcpiTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_ACPI_TABLE), HiiDmemHandle, (UINT64)(UINTN)AcpiTable);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiAcpi20TableGuid, &Acpi20Table);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_APCI_2_TABLE), HiiDmemHandle, (UINT64) Acpi20Table);
+    PrintToken (STRING_TOKEN (STR_DEBUG_APCI_2_TABLE), HiiDmemHandle, (UINT64)(UINTN)Acpi20Table);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiMpsTableGuid, &MpsTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_MPS_TABLE), HiiDmemHandle, (UINT64) MpsTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_MPS_TABLE), HiiDmemHandle, (UINT64)(UINTN)MpsTable);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiSmbiosTableGuid, &SMBIOSTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_SMBIOS_TABLE), HiiDmemHandle, (UINT64) SMBIOSTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_SMBIOS_TABLE), HiiDmemHandle, (UINT64)(UINTN)SMBIOSTable);
   }
 }
 
diff --ignore-file-name-case -Naur ShellR33/dmem/MemCommonPart.c GccShellR33/dmem/MemCommonPart.c
--- ShellR33/dmem/MemCommonPart.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/dmem/MemCommonPart.c	2009-09-22 15:37:05.000000000 -0700
@@ -148,7 +148,7 @@
     return EFI_SUCCESS;
   }
 
-  Address = (AddressStr) ? Xtoi (AddressStr) : (UINT64) SystemTable;
+  Address = (AddressStr) ? Xtoi (AddressStr) : (UINT64)(UINTN)SystemTable;
   Size    = (SizeStr) ? Xtoi (SizeStr) : 512;
 
   //
@@ -156,7 +156,7 @@
   //
   PrintToken (STRING_TOKEN (STR_DMEM_MEMORY_ADDR), HiiDmemHandle, 2 * sizeof (UINTN), Address, Size);
   if (MMIo) {
-    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, &PciRootBridgeIo);
+    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID **)&PciRootBridgeIo);
     if (EFI_ERROR (Status)) {
       PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LOC_PROT_ERR_EX), HiiDmemHandle, L"dmem", L"PciRootBridgeIo");
       return Status;
@@ -233,7 +233,7 @@
   //
   MMIo                  = FALSE;
   AddressStr            = SizeStr = NULL;
-  Address               = (UINT64) SystemTable;
+  Address               = (UINT64)(UINTN)SystemTable;
   Size                  = 512;
   RetCode               = LibCheckVariables (SI, DmemCheckList, &ChkPck, &Useful);
   if (VarCheckOk != RetCode) {
@@ -316,7 +316,7 @@
   //
   PrintToken (STRING_TOKEN (STR_DMEM_NEW_MEMORY_ADDR), HiiDmemHandle, 2 * sizeof (UINTN), Address, Size);
   if (MMIo) {
-    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, &PciRootBridgeIo);
+    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID **)&PciRootBridgeIo);
     if (EFI_ERROR (Status)) {
       PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LOC_PROT_ERR_EX), HiiDmemHandle, L"dmem", L"PciRootBridgeIo");
       return Status;
diff --ignore-file-name-case -Naur ShellR33/dmem/MemCommonPart.h GccShellR33/dmem/MemCommonPart.h
--- ShellR33/dmem/MemCommonPart.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/dmem/MemCommonPart.h	2009-11-05 13:49:56.000000000 -0800
@@ -61,4 +61,4 @@
   IN  EFI_BLOCK_IO_PROTOCOL   *BlkIo
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/dmpstore/dmpstore.c GccShellR33/dmpstore/dmpstore.c
--- ShellR33/dmpstore/dmpstore.c	2009-08-13 22:57:02.000000000 -0700
+++ GccShellR33/dmpstore/dmpstore.c	2009-11-05 13:49:56.000000000 -0800
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2009, Intel Corporation                                                         
+Copyright (c) 2005 - 2008, 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         
@@ -24,6 +24,7 @@
 --*/
 
 #include "EfiShellLib.h"
+#include "EfiVariable.h"
 #include "dmpstore.h"
 
 extern UINT8  STRING_ARRAY_NAME[];
@@ -33,8 +34,7 @@
 //
 #include STRING_DEFINES_FILE
 
-#define INIT_NAME_BUFFER_SIZE  128
-#define INIT_DATA_BUFFER_SIZE  1024
+#define DEBUG_NAME_SIZE MAX_VARIABLE_SIZE
 
 STATIC CHAR16   *AttrType[] = {
   L"invalid",   // 000
@@ -78,14 +78,12 @@
 EFI_STATUS
 GetFileVariable (
   IN EFI_FILE_HANDLE FileHandle,
-  OUT UINTN          *VariableNameSize,
-  IN OUT UINTN       *NameBufferSize,
-  IN OUT CHAR16      **VariableName,
+  IN OUT UINTN       *VariableNameSize,
+  IN CHAR16          *VariableName,
   IN EFI_GUID        *VendorGuid,
   OUT UINT32         *Attributes,
-  OUT UINTN          *DataSize,
-  IN OUT UINTN       *DataBufferSize,
-  IN OUT VOID        **Data
+  IN OUT UINTN       *DataSize,
+  OUT VOID           *Data
   );
 
 EFI_STATUS
@@ -102,7 +100,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDmpstoreGuid = EFI_DMPSTORE_GUID;
 SHELL_VAR_CHECK_ITEM    DmpstoreCheckList[] = {
   {
@@ -316,11 +314,9 @@
   EFI_FILE_HANDLE    FileHandle;  
   EFI_GUID           Guid;
   UINT32             Attributes;
-  CHAR16             *Name;
-  UINTN              NameBufferSize;
+  CHAR16             Name[DEBUG_NAME_SIZE / 2];
   UINTN              NameSize;
-  VOID               *Data;
-  UINTN              DataBufferSize;
+  CHAR16             Data[DEBUG_NAME_SIZE / 2];
   UINTN              DataSize;
   BOOLEAN            Found;
   EFI_FILE_INFO      *FileInfo;
@@ -328,15 +324,7 @@
   Found      = FALSE;
   FileHandle = NULL;
   FileInfo   = NULL;
-  
-  NameBufferSize = INIT_NAME_BUFFER_SIZE;
-  DataBufferSize = INIT_DATA_BUFFER_SIZE;
-  Name           = AllocateZeroPool (NameBufferSize);
-  Data           = AllocatePool (DataBufferSize);
-  if (Name == NULL || Data == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    goto Done;
-  }
+      
   //
   // Open the previous saved output file
   //  
@@ -374,7 +362,9 @@
       break;
     }
     
-    Status = GetFileVariable (FileHandle, &NameSize, &NameBufferSize, &Name, &Guid, &Attributes, &DataSize, &DataBufferSize, &Data);
+    NameSize = DEBUG_NAME_SIZE;
+    DataSize = DEBUG_NAME_SIZE;
+    Status = GetFileVariable (FileHandle, &NameSize, Name, &Guid, &Attributes, &DataSize, Data);
     if (Status == EFI_NOT_FOUND) {
       Status = EFI_SUCCESS;
       break;
@@ -424,13 +414,7 @@
   }  
   if (FileHandle != NULL) {
     LibCloseFile (FileHandle);
-  }
-  if (Name != NULL) {
-    FreePool (Name);
-  }
-  if (Data != NULL) {
-    FreePool (Data);
-  }
+  };
   return Status;
 }
 
@@ -444,13 +428,9 @@
   EFI_STATUS  Status;
   EFI_GUID    Guid;
   UINT32      Attributes;
-  CHAR16      *Name;
-  UINTN       NameBufferSize; // Allocated Name buffer size
+  CHAR16      Name[DEBUG_NAME_SIZE / 2];
   UINTN       NameSize;
-  CHAR16      *OldName;
-  UINTN       OldNameBufferSize;
-  VOID        *Data;
-  UINTN       DataBufferSize; // Allocated Name buffer size
+  CHAR16      Data[DEBUG_NAME_SIZE / 2];
   UINTN       DataSize;
   BOOLEAN     Found;
 
@@ -475,14 +455,7 @@
     }    
   }
 
-  NameBufferSize = INIT_NAME_BUFFER_SIZE;
-  DataBufferSize = INIT_DATA_BUFFER_SIZE;
-  Name           = AllocateZeroPool (NameBufferSize);
-  Data           = AllocatePool (DataBufferSize);
-  if (Name == NULL || Data == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    goto Done;
-  }
+  Name[0] = 0x0000;
   do {
     //
     // Break the execution?
@@ -491,29 +464,8 @@
       goto Done;
     }
     
-    NameSize  = NameBufferSize;
+    NameSize  = DEBUG_NAME_SIZE;
     Status    = RT->GetNextVariableName (&NameSize, Name, &Guid);
-    if (Status == EFI_BUFFER_TOO_SMALL) {
-      OldName           = Name;
-      OldNameBufferSize = NameBufferSize;
-      //
-      // Expand at least twice to avoid reallocate many times
-      //
-      NameBufferSize = NameSize > NameBufferSize * 2 ? NameSize : NameBufferSize * 2;
-      Name           = AllocateZeroPool (NameBufferSize);
-      if (Name == NULL) {
-        Status = EFI_OUT_OF_RESOURCES;
-        FreePool (OldName);
-        goto Done;
-      }
-      //
-      // Preserve the original content to get correct iteration for GetNextVariableName() call
-      //
-      CopyMem (Name, OldName, OldNameBufferSize);
-      FreePool (OldName);
-      NameSize = NameBufferSize;
-      Status = RT->GetNextVariableName (&NameSize, Name, &Guid);
-    }
     if (!EFI_ERROR (Status)) {
       if (VarName != NULL) {
         if (!MetaiMatch (Name, VarName)) {
@@ -522,22 +474,8 @@
       }      
 
       Found     = TRUE;
-      DataSize  = DataBufferSize;
+      DataSize  = DEBUG_NAME_SIZE;
       Status    = RT->GetVariable (Name, &Guid, &Attributes, &DataSize, Data);
-      if (Status == EFI_BUFFER_TOO_SMALL) {
-        //
-        // Expand at least twice to avoid reallocate many times
-        //
-        FreePool (Data);
-        DataBufferSize = DataSize > DataBufferSize * 2 ? DataSize : DataBufferSize * 2;
-        Data           = AllocatePool (DataBufferSize);
-        if (Data == NULL) {
-          Status = EFI_OUT_OF_RESOURCES;
-          goto Done;
-        }
-        DataSize = DataBufferSize;
-        Status   = RT->GetVariable (Name, &Guid, &Attributes, &DataSize, Data);
-      }
       if (!EFI_ERROR (Status)) {
         //
         // Dump variable name
@@ -593,12 +531,6 @@
   }
 
 Done:
-  if (Name != NULL) {
-    FreePool (Name);
-  }
-  if (Data != NULL) {
-    FreePool (Data);
-  }
   return Status;
 }
 
@@ -662,14 +594,12 @@
 EFI_STATUS
 GetFileVariable (
   IN EFI_FILE_HANDLE FileHandle,
-  OUT UINTN          *VariableNameSize,
-  IN OUT UINTN       *NameBufferSize,
-  IN OUT CHAR16      **VariableName,
+  IN OUT UINTN       *VariableNameSize,
+  IN CHAR16          *VariableName,
   IN EFI_GUID        *VendorGuid,
   OUT UINT32         *Attributes,
-  OUT UINTN          *DataSize,
-  IN OUT UINTN       *DataBufferSize,
-  IN OUT VOID        **Data
+  IN OUT UINTN       *DataSize,
+  OUT VOID           *Data
   )
 {
   EFI_STATUS  Status;
@@ -683,23 +613,13 @@
   if (!EFI_ERROR (Status) && (BufferSize == 0)) {
     return EFI_NOT_FOUND; // End of file
   }
-  if (EFI_ERROR (Status) || (BufferSize != sizeof (UINT32))) {
+  if (EFI_ERROR (Status) || (BufferSize != sizeof (UINT32)) || 
+      (NameSize > *VariableNameSize)) {
     return EFI_ABORTED;
   }
   
-  if (NameSize > *NameBufferSize) {
-    //
-    // Expand at least twice to avoid reallocate many times
-    //
-    FreePool (*VariableName);
-    *NameBufferSize = NameSize > *NameBufferSize * 2 ? NameSize : *NameBufferSize * 2;
-    *VariableName   = AllocateZeroPool (*NameBufferSize);
-    if (*VariableName == NULL) {
-      return EFI_OUT_OF_RESOURCES;
-    }
-  }
   BufferSize = NameSize;
-  Status     = LibReadFile (FileHandle, &BufferSize, *VariableName);
+  Status     = LibReadFile (FileHandle, &BufferSize, VariableName);
   if (EFI_ERROR (Status) || (BufferSize != NameSize)) {
     return EFI_ABORTED;
   }
@@ -719,29 +639,19 @@
   Size       = 0;
   BufferSize = sizeof (UINT32);
   Status     = LibReadFile (FileHandle, &BufferSize, &Size);
-  if (EFI_ERROR (Status) || (BufferSize != sizeof (UINT32))) {
+  if (EFI_ERROR (Status) || (BufferSize != sizeof (UINT32)) || 
+      (Size > *DataSize)) {
     return EFI_ABORTED;
   }
   
-  if (Size > *DataBufferSize) {
-    //
-    // Expand at least twice to avoid reallocate many times
-    //
-    FreePool (*Data);
-    *DataBufferSize = Size > *DataBufferSize * 2 ? Size : *DataBufferSize * 2;
-    *Data           = AllocatePool (*DataBufferSize);
-    if (*Data == NULL) {
-      return EFI_OUT_OF_RESOURCES;
-    }
-  }
   BufferSize = Size;
-  Status     = LibReadFile (FileHandle, &BufferSize, *Data);
+  Status     = LibReadFile (FileHandle, &BufferSize, Data);
   if (EFI_ERROR (Status) || (BufferSize != Size)) {
     return EFI_ABORTED;
   }
   
   *VariableNameSize = NameSize;
-  *DataSize         = Size;
+  *DataSize = Size;
   return EFI_SUCCESS;
 }
 
diff --ignore-file-name-case -Naur ShellR33/dmpstore/dmpstore.h GccShellR33/dmpstore/dmpstore.h
--- ShellR33/dmpstore/dmpstore.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/dmpstore/dmpstore.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0xceba463a, 0xfe43, 0x4138, 0xbe, 0x3d, 0x34, 0xc6, 0xc4, 0xe1, 0x31, 0xdd \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/dmpstore/dmpstore.inf GccShellR33/dmpstore/dmpstore.inf
--- ShellR33/dmpstore/dmpstore.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/dmpstore/dmpstore.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,24 +25,24 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   DmpstoreStrings.uni
   dmpstore.c
   dmpstore.h
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/drivers/drivers.c GccShellR33/drivers/drivers.c
--- ShellR33/drivers/drivers.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/drivers/drivers.c	2009-11-05 13:49:56.000000000 -0800
@@ -43,7 +43,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDriversGuid = EFI_DRIVERS_GUID;
 SHELL_VAR_CHECK_ITEM    DriversCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/drivers/drivers.inf GccShellR33/drivers/drivers.inf
--- ShellR33/drivers/drivers.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/drivers/drivers.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,7 +40,7 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   DriversStrings.uni
   drivers.c
   drivers.h
@@ -48,17 +48,17 @@
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/drvcfg/drvcfg.c GccShellR33/drvcfg/drvcfg.c
--- ShellR33/drvcfg/drvcfg.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/drvcfg/drvcfg.c	2009-11-05 13:49:56.000000000 -0800
@@ -38,7 +38,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDrvcfgGuid = EFI_DRVCFG_GUID;
 SHELL_VAR_CHECK_ITEM  DrvcfgCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/drvcfg/drvcfg.inf GccShellR33/drvcfg/drvcfg.inf
--- ShellR33/drvcfg/drvcfg.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/drvcfg/drvcfg.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   DrvcfgStrings.uni
   drvcfg.c
   drvcfg.h
     
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/drvdiag/drvdiag.c GccShellR33/drvdiag/drvdiag.c
--- ShellR33/drvdiag/drvdiag.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/drvdiag/drvdiag.c	2009-11-05 13:49:56.000000000 -0800
@@ -41,7 +41,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDrvdiagGuid = EFI_DRVDIAG_GUID;
 SHELL_VAR_CHECK_ITEM  DrvdiagCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/drvdiag/drvdiag.inf GccShellR33/drvdiag/drvdiag.inf
--- ShellR33/drvdiag/drvdiag.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/drvdiag/drvdiag.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,7 +40,7 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   DrvdiagStrings.uni
   drvdiag.c
   drvdiag.h
@@ -48,17 +48,17 @@
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/edit/edit.inf GccShellR33/edit/edit.inf
--- ShellR33/edit/edit.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/edit/edit.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
- ..\ShCommonStrings.uni
+ ../ShCommonStrings.uni
  EditStrings.uni
  editor.h
  editortype.h
@@ -41,17 +41,17 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/edit/editor.h GccShellR33/edit/editor.h
--- ShellR33/edit/editor.h	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/edit/editor.h	2009-11-05 13:49:56.000000000 -0800
@@ -33,7 +33,7 @@
 #include "libstatusbar.h"
 #include "libinputbar.h"
 #include "libmenubar.h"
-#include "libmisc.h"
+#include "libMisc.h"
 //
 // This is the generated header file which includes whatever needs to be exported (strings + IFR)
 //
@@ -43,7 +43,7 @@
 extern BOOLEAN                  EditorFirst;
 extern BOOLEAN                  EditorExit;
 
-extern EFI_HII_HANDLE           HiiHandle;
+extern EFI_HII_HANDLE           gEditHiiHandle;
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
 extern EFI_HII_PROTOCOL         *Hii;
 #endif
diff --ignore-file-name-case -Naur ShellR33/edit/libEditor.c GccShellR33/edit/libEditor.c
--- ShellR33/edit/libEditor.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/edit/libEditor.c	2009-11-05 13:49:56.000000000 -0800
@@ -123,7 +123,7 @@
   Status = BS->HandleProtocol (
                 In,
                 &gEfiSimplePointerProtocolGuid,
-                &MainEditor.MouseInterface
+                (VOID **)&MainEditor.MouseInterface
                 );
   if (EFI_ERROR (Status)) {
     //
@@ -146,7 +146,7 @@
         Status = BS->HandleProtocol (
                       HandleBuffer[Index],
                       &gEfiSimplePointerProtocolGuid,
-                      &MainEditor.MouseInterface
+                      (VOID **)&MainEditor.MouseInterface
                       );
         if (!EFI_ERROR (Status)) {
           break;
@@ -169,31 +169,31 @@
   //
   Status = MainTitleBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_TITLEBAR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_TITLEBAR), gEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = MainMenuBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_MAINMENU), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_MAINMENU), gEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = MainStatusBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_STATUSBAR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_STATUSBAR), gEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = MainInputBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_INPUTBAR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_INPUTBAR), gEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = FileBufferInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_FILEBUFFER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_FILEBUFFER), gEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
   //
@@ -234,27 +234,27 @@
   //
   Status = MainTitleBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_TILEBAR_CLEANUP), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_TILEBAR_CLEANUP), gEditHiiHandle);
   }
 
   Status = MainMenuBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_MENUBAR_CLEANUP), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_MENUBAR_CLEANUP), gEditHiiHandle);
   }
 
   Status = MainStatusBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_STATUSBAR_CLEANUP), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_STATUSBAR_CLEANUP), gEditHiiHandle);
   }
 
   Status = MainInputBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_INPUTBAR_CLEANUP), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_INPUTBAR_CLEANUP), gEditHiiHandle);
   }
 
   Status = FileBufferCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_FILEBUFFER_CLEANUP), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_LIBEDITOR_FILEBUFFER_CLEANUP), gEditHiiHandle);
   }
   //
   // restore old mode
diff --ignore-file-name-case -Naur ShellR33/edit/libInputBar.c GccShellR33/edit/libInputBar.c
--- ShellR33/edit/libInputBar.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/edit/libInputBar.c	2009-11-05 13:49:56.000000000 -0800
@@ -173,7 +173,7 @@
   EditorClearLine (INPUT_BAR_LOCATION);
 
   Out->SetCursorPosition (Out, 0, INPUT_BAR_LOCATION - 1);
-  PrintToken (STRING_TOKEN (STR_EDIT_LIBINPUTBAR_MAININPUTBAR), HiiHandle, MainInputBar.Prompt);
+  PrintToken (STRING_TOKEN (STR_EDIT_LIBINPUTBAR_MAININPUTBAR), gEditHiiHandle, MainInputBar.Prompt);
 
   //
   // that's the maximum input length that can be displayed on screen
diff --ignore-file-name-case -Naur ShellR33/edit/libMenuBar.c GccShellR33/edit/libMenuBar.c
--- ShellR33/edit/libMenuBar.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/edit/libMenuBar.c	2009-11-05 13:49:56.000000000 -0800
@@ -220,9 +220,9 @@
     FunctionKeyString = AllocatePool (BufferSize);
 
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
-    Status            = Hii->GetString (Hii, HiiHandle, Item->NameToken, FALSE, NULL, &BufferSize, NameString);
+    Status            = Hii->GetString (Hii, gEditHiiHandle, Item->NameToken, FALSE, NULL, &BufferSize, NameString);
 #else
-    Status            = LibGetString (HiiHandle, Item->NameToken, NameString, &BufferSize);
+    Status            = LibGetString (gEditHiiHandle, Item->NameToken, NameString, &BufferSize);
 #endif
 
     Width             = max ((StrLen (NameString) + 6), 20);
@@ -232,9 +232,9 @@
     }
 
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
-    Status = Hii->GetString (Hii, HiiHandle, Item->FunctionKeyToken, FALSE, NULL, &BufferSize, FunctionKeyString);
+    Status = Hii->GetString (Hii, gEditHiiHandle, Item->FunctionKeyToken, FALSE, NULL, &BufferSize, FunctionKeyString);
 #else
-    Status = LibGetString (HiiHandle, Item->FunctionKeyToken, FunctionKeyString, &BufferSize);
+    Status = LibGetString (gEditHiiHandle, Item->FunctionKeyToken, FunctionKeyString, &BufferSize);
 #endif    
     PrintAt (Col - 1, Row - 1, L"%E%s%N  %H%s%N  ", FunctionKeyString, NameString);
 
diff --ignore-file-name-case -Naur ShellR33/edit/main.c GccShellR33/edit/main.c
--- ShellR33/edit/main.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/edit/main.c	2009-11-05 13:49:56.000000000 -0800
@@ -34,7 +34,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE    HiiHandle;
+EFI_HII_HANDLE    gEditHiiHandle;
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
 EFI_HII_PROTOCOL  *Hii;
 #endif
@@ -127,7 +127,7 @@
   }
 #endif
 
-  Status = LibInitializeStrings (&HiiHandle, STRING_ARRAY_NAME, &EfiEditGuid);
+  Status = LibInitializeStrings (&gEditHiiHandle, STRING_ARRAY_NAME, &EfiEditGuid);
 
   if (EFI_ERROR (Status)) {
     return Status;
@@ -137,7 +137,7 @@
   if (VarCheckOk != RetCode) {
     switch (RetCode) {
     case VarCheckUnknown:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), HiiHandle, L"edit", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), gEditHiiHandle, L"edit", Useful);
       break;
 
     default:
@@ -161,10 +161,10 @@
         ChkPck.FlagCount > 2 ||
         (ChkPck.FlagCount == 2 && LibCheckVarGetFlag (&ChkPck, L"-b") == NULL)
         ) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"edit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gEditHiiHandle, L"edit");
       Status = EFI_INVALID_PARAMETER;
     } else {
-      PrintToken (STRING_TOKEN (STR_EDIT_VERBOSE_HELP), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_EDIT_VERBOSE_HELP), gEditHiiHandle);
       Status = EFI_SUCCESS;
     }
 
@@ -172,21 +172,21 @@
   }
 
   if (ChkPck.ValueCount > 1) {
-    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"edit");
+    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gEditHiiHandle, L"edit");
     Status = EFI_INVALID_PARAMETER;
     goto done;
   }
 
   if (ChkPck.ValueCount == 1) {
     if (!IsValidFileName (ChkPck.VarList->VarStr)) {
-      PrintToken (STRING_TOKEN (STR_EDIT_MAIN_INVALID_FILE_NAME), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_EDIT_MAIN_INVALID_FILE_NAME), gEditHiiHandle);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
   }
 
   if (SI->RedirArgc != 0) {
-    PrintToken (STRING_TOKEN (STR_EDIT_NOREDIRECT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_NOREDIRECT), gEditHiiHandle);
     Status = EFI_INVALID_PARAMETER;
     goto done;
   }
@@ -195,7 +195,7 @@
   if (EFI_ERROR (Status)) {
     Out->ClearScreen (Out);
     Out->EnableCursor (Out, TRUE);
-    PrintToken (STRING_TOKEN (STR_EDIT_MAIN_INIT_FAILED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_EDIT_MAIN_INIT_FAILED), gEditHiiHandle);
     goto done;
   }
 
@@ -240,19 +240,19 @@
   //
   if (Status == EFI_SUCCESS) {
   } else if (Status == EFI_OUT_OF_RESOURCES) {
-    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_OUT_RESOURCE), HiiHandle, L"edit");
+    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_OUT_RESOURCE), gEditHiiHandle, L"edit");
   } else {
     if (Buffer != NULL) {
       if (StrCmp (Buffer, L"") != 0) {
         //
         // print out the status string
         //
-        PrintToken (STRING_TOKEN (STR_EDIT_MAIN_BUFFER), HiiHandle, Buffer);
+        PrintToken (STRING_TOKEN (STR_EDIT_MAIN_BUFFER), gEditHiiHandle, Buffer);
       } else {
-        PrintToken (STRING_TOKEN (STR_EDIT_MAIN_UNKNOWN_EDITOR_ERR), HiiHandle);
+        PrintToken (STRING_TOKEN (STR_EDIT_MAIN_UNKNOWN_EDITOR_ERR), gEditHiiHandle);
       }
     } else {
-      PrintToken (STRING_TOKEN (STR_EDIT_MAIN_UNKNOWN_EDITOR_ERR), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_EDIT_MAIN_UNKNOWN_EDITOR_ERR), gEditHiiHandle);
     }
   }
 
diff --ignore-file-name-case -Naur ShellR33/EDK_Snapshot.txt GccShellR33/EDK_Snapshot.txt
--- ShellR33/EDK_Snapshot.txt	2009-08-13 22:57:02.000000000 -0700
+++ GccShellR33/EDK_Snapshot.txt	2009-09-22 15:37:05.000000000 -0700
@@ -1,5 +1,5 @@
 Notes:
-  This EFI Shell release package has been tested on the 2009-08-12's EDK which snapshot
-is Edk-Dev-Snapshot-20090812, User can get this version EDK from the following URL:
-  https://edk.tianocore.org/files/documents/16/558/Edk-Dev-Snapshot-20090812.zip
+  This EFI Shell release package has been tested on the 2009-05-27's EDK which snapshot
+is Edk-Dev-Snapshot-20090527, User can get this version EDK from the following URL:
+  https://edk.tianocore.org/files/documents/16/526/Edk-Dev-Snapshot-20090527.zip
   We don't guarantee this package can work correctly on the other EDK snapshot.
\ No newline at end of file
diff --ignore-file-name-case -Naur ShellR33/EfiCompress/compress.c GccShellR33/EfiCompress/compress.c
--- ShellR33/EfiCompress/compress.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/EfiCompress/compress.c	2009-09-22 15:37:05.000000000 -0700
@@ -30,7 +30,11 @@
 // Macro Definitions
 //
 typedef INT16             NODE;
-#define UINT8_MAX         0xff
+
+#ifndef UINT8_MAX
+  #define UINT8_MAX         0xff
+#endif
+
 #define UINT8_BIT         8
 #define THRESHOLD         3
 #define INIT_CRC          0
@@ -262,7 +266,7 @@
 STATIC UINT32 mCompSize, mOrigSize;
 
 STATIC UINT16 *mFreq, *mSortPtr, mLenCnt[17], mLeft[2 * NC - 1], mRight[2 * NC - 1],
-              mCrcTable[UINT8_MAX + 1], mCFreq[2 * NC - 1], mCTable[4096], mCCode[NC],
+              mCrcTable[UINT8_MAX + 1], mCFreq[2 * NC - 1], mCCode[NC],
               mPFreq[2 * NP - 1], mPTCode[NPT], mTFreq[2 * NT - 1];
 
 STATIC NODE   mPos, mMatchPos, mAvail, *mPosition, *mParent, *mPrev, *mNext = NULL;
diff --ignore-file-name-case -Naur ShellR33/EfiCompress/Compress.h GccShellR33/EfiCompress/Compress.h
--- ShellR33/EfiCompress/Compress.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/EfiCompress/Compress.h	2009-11-05 13:49:56.000000000 -0800
@@ -57,4 +57,4 @@
 
 --*/
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/EfiCompress/compress.inf GccShellR33/EfiCompress/compress.inf
--- ShellR33/EfiCompress/compress.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/EfiCompress/compress.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-..\ShCommonStrings.uni
+../ShCommonStrings.uni
 CompressStrings.uni
 compressMain.c
 compress.c
@@ -34,17 +34,17 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/EfiDecompress/Decompress.c GccShellR33/EfiDecompress/Decompress.c
--- ShellR33/EfiDecompress/Decompress.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/EfiDecompress/Decompress.c	2009-09-22 19:19:20.000000000 -0700
@@ -22,7 +22,7 @@
 --*/
 
 #include "EfiShellLib.h"
-#include "decompress.h"
+#include "Decompress.h"
 
 extern UINT8    STRING_ARRAY_NAME[];
 
@@ -31,7 +31,7 @@
 //
 #include STRING_DEFINES_FILE
 
-#include EFI_PROTOCOL_DEFINITION (decompress)
+#include EFI_PROTOCOL_DEFINITION (Decompress)
 
 EFI_HII_HANDLE  HiiDecompressHandle;
 EFI_GUID        EfiDecompressGuid = EFI_DECOMPRESS_GUID;
@@ -192,7 +192,7 @@
   //
   //
   //
-  Status = LibLocateProtocol (&gEfiDecompressProtocolGuid, &Decompress);
+  Status = LibLocateProtocol (&gEfiDecompressProtocolGuid, (VOID **)&Decompress);
   if (EFI_ERROR (Status)) {
     PrintToken (STRING_TOKEN (STR_DECOMPRESS_PROTOCOL_NOT_FOUND), HiiDecompressHandle, L"efidecompress");
     Status = EFI_UNSUPPORTED;
diff --ignore-file-name-case -Naur ShellR33/EfiDecompress/Decompress.h GccShellR33/EfiDecompress/Decompress.h
--- ShellR33/EfiDecompress/Decompress.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/EfiDecompress/Decompress.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0xe15963a9, 0xa05a, 0x480e, 0x91, 0x49, 0x32, 0xe9, 0x24, 0x5d, 0x98, 0xcb \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/EfiDecompress/Decompress.inf GccShellR33/EfiDecompress/Decompress.inf
--- ShellR33/EfiDecompress/Decompress.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/EfiDecompress/Decompress.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-..\ShCommonStrings.uni
+../ShCommonStrings.uni
 DecompressStrings.uni
 decompress.c
 decompress.h
@@ -33,17 +33,17 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/err/err.c GccShellR33/err/err.c
--- ShellR33/err/err.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/err/err.c	2009-11-05 13:49:56.000000000 -0800
@@ -35,7 +35,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiErrGuid = EFI_ERR_GUID;
 SHELL_VAR_CHECK_ITEM    ErrCheckList[] = {
   {
@@ -149,7 +149,7 @@
   EFI_DEBUG_MASK_PROTOCOL *dmp;
   UINTN                   Mask;
 
-  Status = BS->HandleProtocol (Handle, &gEfiDebugMaskProtocolGuid, &dmp);
+  Status = BS->HandleProtocol (Handle, &gEfiDebugMaskProtocolGuid, (VOID **)&dmp);
   if (!EFI_ERROR (Status)) {
     Status = dmp->GetDebugMask (dmp, &Mask);
     if (!EFI_ERROR (Status)) {
@@ -278,7 +278,7 @@
     goto Done;
   }
 
-  Status = BS->HandleProtocol (RealHandle, &gEfiDebugMaskProtocolGuid, &dmp);
+  Status = BS->HandleProtocol (RealHandle, &gEfiDebugMaskProtocolGuid, (VOID **)&dmp);
   if (EFI_ERROR (Status)) {
     PrintToken (STRING_TOKEN (STR_ERR_HANDLE_NOT_FOUND), HiiHandle, DrvHandle + 1);
     goto Done;
@@ -336,7 +336,7 @@
   }
   
   for (Index = 0; Index < BufferSize / sizeof(EFI_HANDLE); Index ++) {
-    Status = BS->HandleProtocol (Buffer[Index], &gEfiDebugMaskProtocolGuid, &dmp);
+    Status = BS->HandleProtocol (Buffer[Index], &gEfiDebugMaskProtocolGuid, (VOID **)&dmp);
     Status = dmp->SetDebugMask (dmp, Msk);
   }
 
diff --ignore-file-name-case -Naur ShellR33/err/err.h GccShellR33/err/err.h
--- ShellR33/err/err.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/err/err.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0xdaab229b, 0x7883, 0x4f5f, 0xac, 0x6e, 0x15, 0x20, 0xc7, 0xe7, 0x8f, 0xd4 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/err/err.inf GccShellR33/err/err.inf
--- ShellR33/err/err.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/err/err.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-..\ShCommonStrings.uni
+../ShCommonStrings.uni
 ErrStrings.uni
 err.c
 err.h
@@ -33,17 +33,17 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/guid/guid.c GccShellR33/guid/guid.c
--- ShellR33/guid/guid.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/guid/guid.c	2009-11-05 13:49:56.000000000 -0800
@@ -36,7 +36,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiGuidGuid = EFI_GUID_GUID;
 SHELL_VAR_CHECK_ITEM    GuidCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/guid/guid.h GccShellR33/guid/guid.h
--- ShellR33/guid/guid.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/guid/guid.h	2009-11-05 13:49:56.000000000 -0800
@@ -31,4 +31,4 @@
     0x425bff44, 0x1cae, 0x4c27, 0x98, 0x2c, 0x25, 0xc8, 0x74, 0x59, 0xdf, 0xd6 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/guid/guid.inf GccShellR33/guid/guid.inf
--- ShellR33/guid/guid.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/guid/guid.inf	2009-09-22 15:37:05.000000000 -0700
@@ -37,23 +37,23 @@
   FILE_GUID            = CBEB01F8-0912-4d87-8A6B-45D02847A405
   COMPONENT_TYPE       = APPLICATION
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   GuidStrings.uni
   guid.c
   guid.h
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 [libraries.common]
   EfiShellLib
   EdkProtocolLib
diff --ignore-file-name-case -Naur ShellR33/hexedit/heditor.h GccShellR33/hexedit/heditor.h
--- ShellR33/hexedit/heditor.h	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/hexedit/heditor.h	2009-11-05 13:49:56.000000000 -0800
@@ -39,7 +39,7 @@
 #include "libinputbar.h"
 #include "libmenubar.h"
 
-#include "libmisc.h"
+#include "libMisc.h"
 
 #include "libclipboard.h"
 
@@ -52,7 +52,7 @@
 extern BOOLEAN                    HEditorFirst;
 extern BOOLEAN                    HEditorExit;
 
-extern EFI_HII_HANDLE             HiiHandle;
+extern EFI_HII_HANDLE             gHexEditHiiHandle;
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
 extern EFI_HII_PROTOCOL           *Hii;
 #endif
diff --ignore-file-name-case -Naur ShellR33/hexedit/hexedit.inf GccShellR33/hexedit/hexedit.inf
--- ShellR33/hexedit/hexedit.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/hexedit/hexedit.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   HexeditStrings.uni
   heditor.h
   heditortype.h
@@ -45,17 +45,17 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/hexedit/libBufferImage.c GccShellR33/hexedit/libBufferImage.c
--- ShellR33/hexedit/libBufferImage.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/hexedit/libBufferImage.c	2009-09-22 15:37:05.000000000 -0700
@@ -203,6 +203,9 @@
   case MEM_BUFFER:
     HMemImageBackup ();
     break;
+
+  default:
+    break;
   }
 
   return EFI_SUCCESS;
@@ -980,6 +983,9 @@
   case MEM_BUFFER:
     Status = HMemImageRead (MemOffset, MemSize, Recover);
     break;
+
+  default:
+    break;
   }
 
   if (EFI_ERROR (Status)) {
@@ -1030,6 +1036,9 @@
   case MEM_BUFFER:
     Status = HMemImageSave (MemOffset, MemSize);
     break;
+    
+  default:
+    break;
   }
 
   if (EFI_ERROR (Status)) {
diff --ignore-file-name-case -Naur ShellR33/hexedit/libdiskimage.c GccShellR33/hexedit/libdiskimage.c
--- ShellR33/hexedit/libdiskimage.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/hexedit/libdiskimage.c	2009-09-22 15:37:05.000000000 -0700
@@ -246,7 +246,7 @@
   Status = LibDevicePathToInterface (
             &gEfiBlockIoProtocolGuid,
             DevicePath,
-            &BlkIo
+            (VOID **)&BlkIo
             );
   if (EFI_ERROR (Status)) {
     HMainStatusBarSetStatusString (L"Read Disk Failed");
@@ -427,7 +427,7 @@
   Status = LibDevicePathToInterface (
             &gEfiBlockIoProtocolGuid,
             DevicePath,
-            &BlkIo
+            (VOID **)&BlkIo
             );
   if (EFI_ERROR (Status)) {
     return Status;
diff --ignore-file-name-case -Naur ShellR33/hexedit/libEditor.c GccShellR33/hexedit/libEditor.c
--- ShellR33/hexedit/libEditor.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/hexedit/libEditor.c	2009-11-05 13:49:56.000000000 -0800
@@ -20,7 +20,7 @@
 
 --*/
 
-#include "Heditor.h"
+#include "heditor.h"
 
 HEFI_EDITOR_COLOR_ATTRIBUTES    HOriginalColors;
 INTN                            HOriginalMode;
@@ -136,7 +136,7 @@
   Status = BS->HandleProtocol (
                 In,
                 &gEfiSimplePointerProtocolGuid,
-                &HMainEditor.MouseInterface
+                (VOID **)&HMainEditor.MouseInterface
                 );
   if (EFI_ERROR (Status)) {
     //
@@ -159,7 +159,7 @@
         Status = BS->HandleProtocol (
                       HandleBuffer[Index],
                       &gEfiSimplePointerProtocolGuid,
-                      &HMainEditor.MouseInterface
+                      (VOID **)&HMainEditor.MouseInterface
                       );
         if (!EFI_ERROR (Status)) {
           break;
@@ -182,37 +182,37 @@
   //
   Status = HMainTitleBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_TITLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_TITLE), gHexEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = HMainMenuBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_MAINMENU), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_MAINMENU), gHexEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = HMainStatusBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_STATUS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_STATUS), gHexEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = HMainInputBarInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_INPUTBAR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_INPUTBAR), gHexEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = HBufferImageInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_BUFFERIMAGE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_BUFFERIMAGE), gHexEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
 
   Status = HClipBoardInit ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_CLIPBOARD), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MAINEDITOR_CLIPBOARD), gHexEditHiiHandle);
     return EFI_LOAD_ERROR;
   }
   //
@@ -259,32 +259,32 @@
   //
   Status = HMainTitleBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_TITLEBAR_CLEAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_TITLEBAR_CLEAN), gHexEditHiiHandle);
   }
 
   Status = HMainMenuBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MENUBAR_CLEAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_MENUBAR_CLEAN), gHexEditHiiHandle);
   }
 
   Status = HMainStatusBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_STATUSBAR_CLEAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_STATUSBAR_CLEAN), gHexEditHiiHandle);
   }
 
   Status = HMainInputBarCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_INPUTBAR_CLEAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_INPUTBAR_CLEAN), gHexEditHiiHandle);
   }
 
   Status = HBufferImageCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_BUFFERIMAGE_CLEAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_BUFFERIMAGE_CLEAN), gHexEditHiiHandle);
   }
 
   Status = HClipBoardCleanup ();
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_CLIPBOARD_CLEAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBEDITOR_CLIPBOARD_CLEAN), gHexEditHiiHandle);
   }
   //
   // restore old mode
@@ -732,6 +732,9 @@
         case MEM_BUFFER:
           OldSize = HBufferImage.MemImage->Size;
           break;
+          
+        default:
+          break;
         }
 
         if (LengthChange == FALSE) {
diff --ignore-file-name-case -Naur ShellR33/hexedit/libInputBar.c GccShellR33/hexedit/libInputBar.c
--- ShellR33/hexedit/libInputBar.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/hexedit/libInputBar.c	2009-11-05 13:49:56.000000000 -0800
@@ -201,7 +201,7 @@
   HEditorClearLine (INPUT_BAR_LOCATION);
 
   Out->SetCursorPosition (Out, 0, INPUT_BAR_LOCATION - 1);
-  PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBINPUTBAR_MAININPUTBAR), HiiHandle, HMainInputBar.Prompt);
+  PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBINPUTBAR_MAININPUTBAR), gHexEditHiiHandle, HMainInputBar.Prompt);
 
   //
   // that's the maximum input length that can be displayed on screen
diff --ignore-file-name-case -Naur ShellR33/hexedit/libMemImage.c GccShellR33/hexedit/libMemImage.c
--- ShellR33/hexedit/libMemImage.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/hexedit/libMemImage.c	2009-09-22 15:37:05.000000000 -0700
@@ -91,7 +91,7 @@
   Status = BS->LocateProtocol (
                 &gEfiPciRootBridgeIoProtocolGuid,
                 NULL,
-                &HMemImage.IoFncs
+                (VOID **)&HMemImage.IoFncs
                 );
   if (Status == EFI_NOT_FOUND) {
     //
diff --ignore-file-name-case -Naur ShellR33/hexedit/libMenuBar.c GccShellR33/hexedit/libMenuBar.c
--- ShellR33/hexedit/libMenuBar.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/hexedit/libMenuBar.c	2009-11-05 13:49:56.000000000 -0800
@@ -255,9 +255,9 @@
     FunctionKeyString = AllocatePool (BufferSize);
 
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
-    Status            = Hii->GetString (Hii, HiiHandle, Item->NameToken, FALSE, NULL, &BufferSize, NameString);
+    Status            = Hii->GetString (Hii, gHexEditHiiHandle, Item->NameToken, FALSE, NULL, &BufferSize, NameString);
 #else
-    Status            = LibGetString (HiiHandle, Item->NameToken, NameString, &BufferSize);
+    Status            = LibGetString (gHexEditHiiHandle, Item->NameToken, NameString, &BufferSize);
 #endif
 
     Width             = max ((StrLen (NameString) + 6), 18);
@@ -267,9 +267,9 @@
     }
 
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
-    Status = Hii->GetString (Hii, HiiHandle, Item->FunctionKeyToken, FALSE, NULL, &BufferSize, FunctionKeyString);
+    Status = Hii->GetString (Hii, gHexEditHiiHandle, Item->FunctionKeyToken, FALSE, NULL, &BufferSize, FunctionKeyString);
 #else
-    Status = LibGetString (HiiHandle, Item->FunctionKeyToken, FunctionKeyString, &BufferSize);
+    Status = LibGetString (gHexEditHiiHandle, Item->FunctionKeyToken, FunctionKeyString, &BufferSize);
 #endif
     if (Index >= 10) {
       PrintAt (Col - 1, Row - 1, L"%E%s%N %H%s%N  ", FunctionKeyString, NameString);
diff --ignore-file-name-case -Naur ShellR33/hexedit/libmenubar.h GccShellR33/hexedit/libmenubar.h
--- ShellR33/hexedit/libmenubar.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/hexedit/libmenubar.h	2009-09-22 19:19:20.000000000 -0700
@@ -20,7 +20,7 @@
 #ifndef _LIB_MENU_BAR_H_
 #define _LIB_MENU_BAR_H_
 
-#include "Heditortype.h"
+#include "heditortype.h"
 
 EFI_STATUS
 HMainMenuBarInit (
diff --ignore-file-name-case -Naur ShellR33/hexedit/libMisc.h GccShellR33/hexedit/libMisc.h
--- ShellR33/hexedit/libMisc.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/hexedit/libMisc.h	2009-09-22 19:19:20.000000000 -0700
@@ -20,7 +20,7 @@
 #ifndef _LIB_MISC_H_
 #define _LIB_MISC_H_
 
-#include "Heditortype.h"
+#include "heditortype.h"
 
 VOID
 HEditorClearLine (
diff --ignore-file-name-case -Naur ShellR33/hexedit/libTitleBar.c GccShellR33/hexedit/libTitleBar.c
--- ShellR33/hexedit/libTitleBar.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/hexedit/libTitleBar.c	2009-11-05 13:49:56.000000000 -0800
@@ -212,7 +212,7 @@
     // the space for file name is 35 characters
     //
     if (StrLen (FileNameTmp) <= 35) {
-      PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR), HiiHandle, FileNameTmp);
+      PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR), gHexEditHiiHandle, FileNameTmp);
 
       for (Index = StrLen (FileNameTmp); Index < 35; Index++) {
         Print (L" ");
@@ -220,7 +220,7 @@
 
     } else {
       for (Index = 0; Index < 32; Index++) {
-        PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR_C), HiiHandle, FileNameTmp[Index]);
+        PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR_C), gHexEditHiiHandle, FileNameTmp[Index]);
       }
       //
       // print "..."
@@ -234,14 +234,14 @@
     if (StrLen (HMainEditor.BufferImage->DiskImage->Name) <= 9) {
       PrintToken (
         STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR),
-        HiiHandle,
+        gHexEditHiiHandle,
         HMainEditor.BufferImage->DiskImage->Name
         );
     } else {
       for (Index = 0; Index < 6; Index++) {
         PrintToken (
           STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR_C),
-          HiiHandle,
+          gHexEditHiiHandle,
           HMainEditor.BufferImage->DiskImage->Name[Index]
           );
       }
@@ -253,7 +253,7 @@
 
     PrintToken (
       STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR_TWOVARS),
-      HiiHandle,
+      gHexEditHiiHandle,
       HMainEditor.BufferImage->DiskImage->Offset,
       HMainEditor.BufferImage->DiskImage->Offset + HMainEditor.BufferImage->DiskImage->Size - 1
       );
@@ -269,7 +269,7 @@
   case MEM_BUFFER:
     PrintToken (
       STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MAINEDITOR_TWOVARS),
-      HiiHandle,
+      gHexEditHiiHandle,
       HMainEditor.BufferImage->MemImage->Offset,
       HMainEditor.BufferImage->MemImage->Offset + HMainEditor.BufferImage->MemImage->Size - 1
       );
@@ -280,21 +280,26 @@
 
     break;
 
+  default:
+    break;
   }
   //
   // 9 characters
   //
   switch (HMainEditor.BufferImage->BufferType) {
   case FILE_BUFFER:
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_FILE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_FILE), gHexEditHiiHandle);
     break;
 
   case DISK_BUFFER:
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_DISK), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_DISK), gHexEditHiiHandle);
     break;
 
   case MEM_BUFFER:
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MEM), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_LIBTITLEBAR_MEM), gHexEditHiiHandle);
+    break;
+    
+  default:
     break;
   }
   //
diff --ignore-file-name-case -Naur ShellR33/hexedit/main.c GccShellR33/hexedit/main.c
--- ShellR33/hexedit/main.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/hexedit/main.c	2009-11-05 13:49:56.000000000 -0800
@@ -26,7 +26,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE    HiiHandle;
+EFI_HII_HANDLE    gHexEditHiiHandle;
 #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
 EFI_HII_PROTOCOL  *Hii;
 #endif
@@ -92,10 +92,10 @@
   VOID
   )
 {
-  PrintToken (STRING_TOKEN (STR_HEXEDIT_USAGE), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_HEXEDIT_FILENAME), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_HEXEDIT_DISKNAME), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_HEXEDIT_OFFSET_SIZE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_HEXEDIT_USAGE), gHexEditHiiHandle);
+  PrintToken (STRING_TOKEN (STR_HEXEDIT_FILENAME), gHexEditHiiHandle);
+  PrintToken (STRING_TOKEN (STR_HEXEDIT_DISKNAME), gHexEditHiiHandle);
+  PrintToken (STRING_TOKEN (STR_HEXEDIT_OFFSET_SIZE), gHexEditHiiHandle);
   Print (L"\n\n");
 }
 
@@ -157,12 +157,12 @@
   // Register our string package with HII and return the handle to it.
   // If previously registered we will simply receive the handle
   //
-  EFI_SHELL_STR_INIT (HiiHandle, STRING_ARRAY_NAME, EfiHexeditGuid);
+  EFI_SHELL_STR_INIT (gHexEditHiiHandle, STRING_ARRAY_NAME, EfiHexeditGuid);
 
   if (!EFI_PROPER_VERSION (1, 10)) {
     PrintToken (
       STRING_TOKEN (STR_SHELLENV_GNC_COMMAND_NOT_SUPPORT),
-      HiiHandle,
+      gHexEditHiiHandle,
       L"hexedit",
       EFI_VERSION_1_10
       );
@@ -186,17 +186,17 @@
     switch (RetCode) {
     case VarCheckConflict:
 
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_FLAG_CONFLICT), HiiHandle, L"hexedit", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_FLAG_CONFLICT), gHexEditHiiHandle, L"hexedit", Useful);
       break;
 
     case VarCheckDuplicate:
 
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_DUP_FLAG), HiiHandle, L"hexedit", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_DUP_FLAG), gHexEditHiiHandle, L"hexedit", Useful);
       break;
 
     case VarCheckUnknown:
 
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), HiiHandle, L"hexedit", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), gHexEditHiiHandle, L"hexedit", Useful);
       break;
 
     default:
@@ -219,10 +219,10 @@
         ChkPck.FlagCount > 2 ||
         (ChkPck.FlagCount == 2 && LibCheckVarGetFlag (&ChkPck, L"-b") == NULL)
         ) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
     } else {
-      PrintToken (STRING_TOKEN (STR_HEXEDIT_VERBOSE_HELP), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_HEXEDIT_VERBOSE_HELP), gHexEditHiiHandle);
       Status = EFI_SUCCESS;
     }
 
@@ -232,13 +232,13 @@
   Item = LibCheckVarGetFlag (&ChkPck, L"-d");
   if (Item) {
     if (3 < ChkPck.ValueCount) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     if (3 > ChkPck.ValueCount) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_FEW), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_FEW), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -248,7 +248,7 @@
     Item    = Item->Next;
     Result  = HXtoi (Item->VarStr, &Offset);
     if (EFI_ERROR (Result)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -256,13 +256,13 @@
     Item    = Item->Next;
     Result  = HXtoi (Item->VarStr, &Size);
     if (EFI_ERROR (Result)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     if (Offset < 0 || Size <= 0) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -273,13 +273,13 @@
   Item = LibCheckVarGetFlag (&ChkPck, L"-m");
   if (Item) {
     if (2 < ChkPck.ValueCount) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     if (2 > ChkPck.ValueCount) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_FEW), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_FEW), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -287,7 +287,7 @@
     Item    = ChkPck.VarList;
     Result  = HXtoi (Item->VarStr, &Offset);
     if (EFI_ERROR (Result)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -295,20 +295,20 @@
     Item    = Item->Next;
     Result  = HXtoi (Item->VarStr, &Size);
     if (EFI_ERROR (Result)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     if (Offset < 0 || Size <= 0) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     LastOffset = (UINT64) Offset + (UINT64) Size - (UINT64) 1;
     if (LastOffset > 0xffffffff) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"hexedit", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gHexEditHiiHandle, L"hexedit", Item->VarStr);
       goto done;
     }
 
@@ -318,13 +318,13 @@
   Item = LibCheckVarGetFlag (&ChkPck, L"-f");
   if (Item) {
     if (1 < ChkPck.ValueCount) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     if (1 > ChkPck.ValueCount) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_FEW), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_FEW), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -332,7 +332,7 @@
     Item  = ChkPck.VarList;
     Name  = Item->VarStr;
     if (!HIsValidFileName (Name)) {
-      PrintToken (STRING_TOKEN (STR_HEXEDIT_FILE_NAME), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_HEXEDIT_FILE_NAME), gHexEditHiiHandle);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -345,13 +345,13 @@
     } else if (1 == ChkPck.ValueCount) {
       Name = ChkPck.VarList->VarStr;
     } else {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"hexedit");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gHexEditHiiHandle, L"hexedit");
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
 
     if (!HIsValidFileName (Name)) {
-      PrintToken (STRING_TOKEN (STR_HEXEDIT_FILE_NAME), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_HEXEDIT_FILE_NAME), gHexEditHiiHandle);
       Status = EFI_INVALID_PARAMETER;
       goto done;
     }
@@ -360,7 +360,7 @@
   }
 
   if (SI->RedirArgc != 0) {
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_NOREDIRECT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_NOREDIRECT), gHexEditHiiHandle);
     Status = EFI_INVALID_PARAMETER;
     goto done;
   }
@@ -369,7 +369,7 @@
   if (EFI_ERROR (Status)) {
     Out->ClearScreen (Out);
     Out->EnableCursor (Out, TRUE);
-    PrintToken (STRING_TOKEN (STR_HEXEDIT_INIT_FAILED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_HEXEDIT_INIT_FAILED), gHexEditHiiHandle);
     goto done;
   }
 
@@ -414,6 +414,10 @@
               FALSE
               );
     break;
+  
+  default:
+    ASSERT (FALSE);
+    break;
 
   }
 
@@ -446,19 +450,19 @@
   //
   if (Status == EFI_SUCCESS) {
   } else if (Status == EFI_OUT_OF_RESOURCES) {
-    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_OUT_RESOURCE), HiiHandle, L"hexedit");
+    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_OUT_RESOURCE), gHexEditHiiHandle, L"hexedit");
   } else {
     if (Buffer != NULL) {
       if (StrCmp (Buffer, L"") != 0) {
         //
         // print out the status string
         //
-        PrintToken (STRING_TOKEN (STR_HEXEDIT_ONE_VAR), HiiHandle, Buffer);
+        PrintToken (STRING_TOKEN (STR_HEXEDIT_ONE_VAR), gHexEditHiiHandle, Buffer);
       } else {
-        PrintToken (STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), HiiHandle);
+        PrintToken (STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gHexEditHiiHandle);
       }
     } else {
-      PrintToken (STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gHexEditHiiHandle);
     }
   }
 
diff --ignore-file-name-case -Naur ShellR33/IfConfig/IfConfig.c GccShellR33/IfConfig/IfConfig.c
--- ShellR33/IfConfig/IfConfig.c	2009-08-13 22:57:02.000000000 -0700
+++ GccShellR33/IfConfig/IfConfig.c	2009-11-05 13:49:56.000000000 -0800
@@ -26,7 +26,7 @@
 #define NET_IFTYPE_ETHERNET    1
 #define NIC_ITEM_CONFIG_SIZE   sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 
 EFI_GUID  EfiIfConfigGuid = EFI_IFCONFIG_GUID;
 
@@ -450,7 +450,7 @@
   Status = BS->LocateProtocol (
                 &gEfiHiiConfigRoutingProtocolGuid,
                 NULL,
-                &mHiiConfigRouting
+                (VOID **)&mHiiConfigRouting
                 );
   if (EFI_ERROR (Status)) {
     return EFI_NOT_FOUND;
@@ -1602,7 +1602,7 @@
     if ((Name != NULL) && (StrCmp (Name, Info->Name) != 0)) {
       continue;
     }
-
+    
 #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
     if (Info->NicIp4Config == NULL) { 
       Status = IfconfigSetNicAddrByHii (Info, NULL);
@@ -1717,6 +1717,7 @@
 #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
   if (EFI_ERROR (Status)) {
     Status = IfconfigGetAllNicInfoByHii (ImageHandle);
+
     if (EFI_ERROR (Status)) {
       if (mIp4ConfigExist) {
         PrintToken (STRING_TOKEN (STR_IFCONFIG_GET_NIC_FAIL), HiiHandle, Status);
@@ -1726,7 +1727,7 @@
 
       return EFI_NOT_FOUND;
     }
-  }
+  } 
 #else 
   if (EFI_ERROR (Status)) {
     if (mIp4ConfigExist) {
diff --ignore-file-name-case -Naur ShellR33/IfConfig/IfConfig.inf GccShellR33/IfConfig/IfConfig.inf
--- ShellR33/IfConfig/IfConfig.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/IfConfig/IfConfig.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   IfConfigStrings.uni
   IfConfig.c
   IfConfig.h
@@ -33,25 +33,25 @@
   ShellNetHelper.h
   
 [includes.common]
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(EDK_SOURCE)\Foundation\Library\Dxe\Include
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(EDK_SOURCE)/Foundation/Library/Dxe/Include
+  $(DEST_DIR)/
 
 [libraries.common]
   EfiShellLib
   EdkProtocolLib
   EfiProtocolLib
   EdkGuidLib
-  EfiDriverLib
+#  EfiDriverLib
 
 [nmake.common]
   C_PROJ_FLAGS = $(C_PROJ_FLAGS)
diff --ignore-file-name-case -Naur ShellR33/inc/shellenv.h GccShellR33/inc/shellenv.h
--- ShellR33/inc/shellenv.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/inc/shellenv.h	2009-09-22 15:37:05.000000000 -0700
@@ -122,15 +122,6 @@
   IN SHELLCMD_GET_LINE_HELP       GetLineHelp
   );
 
-//
-// Add to shell environment protocol information & protocol information dump handlers
-//
-typedef
-VOID
-(EFIAPI *SHELLENV_DUMP_PROTOCOL_INFO) (
-  IN EFI_HANDLE                   Handle,
-  IN VOID                         *Interface
-  );
 
 typedef
 VOID
diff --ignore-file-name-case -Naur ShellR33/inc/shelltypes.h GccShellR33/inc/shelltypes.h
--- ShellR33/inc/shelltypes.h	2006-02-09 00:05:29.000000000 -0800
+++ GccShellR33/inc/shelltypes.h	2009-10-14 16:36:30.000000000 -0700
@@ -36,7 +36,7 @@
 #endif
 
 #include "Tiano.h"
-#include "linkedlist.h"
+#include "LinkedList.h"
 
 #include EFI_PROTOCOL_DEFINITION (FileInfo)
 #include EFI_PROTOCOL_DEFINITION (SimpleFileSystem)
@@ -148,12 +148,6 @@
   EFI_FILE_INFO             *Info;
 } SHELL_FILE_ARG;
 
-typedef
-VOID
-(EFIAPI *SHELLENV_DUMP_PROTOCOL_INFO) (
-  IN EFI_HANDLE                   Handle,
-  IN VOID                         *Interface
-  );
 
 typedef
 EFI_STATUS
diff --ignore-file-name-case -Naur ShellR33/IpConfig/IpConfig.c GccShellR33/IpConfig/IpConfig.c
--- ShellR33/IpConfig/IpConfig.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/IpConfig/IpConfig.c	2009-11-05 13:49:56.000000000 -0800
@@ -39,7 +39,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiIpConfigGuid = EFI_IPCONFIG_GUID;
 SHELL_VAR_CHECK_ITEM  IpconfigCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/IpConfig/IpConfig.h GccShellR33/IpConfig/IpConfig.h
--- ShellR33/IpConfig/IpConfig.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/IpConfig/IpConfig.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0x8252915c, 0xf1e9, 0x435c, 0x81, 0x91, 0xad, 0x2f, 0x82, 0x62, 0x23, 0x73 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/IpConfig/IpConfig.inf GccShellR33/IpConfig/IpConfig.inf
--- ShellR33/IpConfig/IpConfig.inf	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/IpConfig/IpConfig.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,24 +25,24 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   IpConfigStrings.uni
   IpConfig.c
   IpConfig.h 
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/Library/Arm/EfiLibPlat.h GccShellR33/Library/Arm/EfiLibPlat.h
--- ShellR33/Library/Arm/EfiLibPlat.h	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/Arm/EfiLibPlat.h	2009-11-05 13:49:56.000000000 -0800
@@ -0,0 +1,37 @@
+/*++
+
+Copyright (c) 2005, 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         
+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.             
+
+Module Name:
+
+    efilibplat.h
+
+Abstract:
+
+    EFI to compile bindings
+
+
+
+
+Revision History
+
+--*/
+#ifndef _EFI_LIB_PLAT_H_
+#define _EFI_LIB_PLAT_H_
+
+VOID
+InitializeLibPlatform (
+  IN EFI_HANDLE           ImageHandle,
+  IN EFI_SYSTEM_TABLE     *SystemTable
+  );
+
+#define MIN_ALIGNMENT_SIZE  4
+
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/ConsistMapping.c GccShellR33/Library/ConsistMapping.c
--- ShellR33/Library/ConsistMapping.c	2008-11-24 21:49:58.000000000 -0800
+++ GccShellR33/Library/ConsistMapping.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 MTD_NAME  mMTDName[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/Library/ConsistMapping.h GccShellR33/Library/ConsistMapping.h
--- ShellR33/Library/ConsistMapping.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/ConsistMapping.h	2009-11-05 13:49:56.000000000 -0800
@@ -79,4 +79,4 @@
   IN  VOID *Buffer2
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/CRC.c GccShellR33/Library/CRC.c
--- ShellR33/Library/CRC.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/CRC.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 UINT32  CRCTable[256] = {
   0x00000000,
diff --ignore-file-name-case -Naur ShellR33/Library/CRC.h GccShellR33/Library/CRC.h
--- ShellR33/Library/CRC.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/CRC.h	2009-11-05 13:49:56.000000000 -0800
@@ -53,4 +53,4 @@
   UINTN Size
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/Data.c GccShellR33/Library/Data.c
--- ShellR33/Library/Data.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/Library/Data.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 //
 // ShellLibInitialized - TRUE once InitializeShellLib() is called for the first time
diff --ignore-file-name-case -Naur ShellR33/Library/DPath.c GccShellR33/Library/DPath.c
--- ShellR33/Library/DPath.c	2008-11-24 21:49:58.000000000 -0800
+++ GccShellR33/Library/DPath.c	2009-09-22 19:19:20.000000000 -0700
@@ -20,7 +20,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 EFI_GUID mEfiDevicePathMessagingUartFlowControlGuid = DEVICE_PATH_MESSAGING_UART_FLOW_CONTROL;
 
@@ -1468,7 +1468,7 @@
   
   Status = LibLocateProtocol (
              &gEfiDevicePathToTextProtocolGuid,
-             &DevPathToText
+             (VOID **)&DevPathToText
              );
   if (!EFI_ERROR (Status)) {
     ToText = DevPathToText->ConvertDevicePathToText (
diff --ignore-file-name-case -Naur ShellR33/Library/DPath.h GccShellR33/Library/DPath.h
--- ShellR33/Library/DPath.h	2008-10-06 00:03:04.000000000 -0700
+++ GccShellR33/Library/DPath.h	2009-09-22 15:37:05.000000000 -0700
@@ -24,7 +24,7 @@
 #ifndef _D_PATH_H
 #define _D_PATH_H
 
-#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + strlena (a) + 1))
+#define NextStrA(a) ((CHAR8 *) (((UINT8 *) (a)) + strlena (a) + 1))
 
 #include EFI_GUID_DEFINITION (PcAnsi)
 
diff --ignore-file-name-case -Naur ShellR33/Library/EfiShellLib.h GccShellR33/Library/EfiShellLib.h
--- ShellR33/Library/EfiShellLib.h	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/Library/EfiShellLib.h	2009-09-22 16:16:30.000000000 -0700
@@ -25,7 +25,7 @@
 #define _EFI_SHELL_LIB_INCLUDE_
 
 #include "Tiano.h"
-#include "ShellEnv.h"
+#include "shellenv.h"
 #include "pci22.h"
 
 #include EFI_ARCH_PROTOCOL_DEFINITION (Bds)
@@ -51,7 +51,7 @@
 #include EFI_GUID_DEFINITION (PrimaryConsoleOutDevice)
 #include EFI_GUID_DEFINITION (PrimaryStandardErrorDevice)
 #include EFI_GUID_DEFINITION (SalSystemTable)
-#include EFI_GUID_DEFINITION (Smbios)
+#include EFI_GUID_DEFINITION (SmBios)
 #include EFI_GUID_DEFINITION (StandardErrorDevice)
 #include EFI_GUID_DEFINITION (FrameworkDevicePath)
 #include EFI_PROTOCOL_DEFINITION (AbsolutePointer)
@@ -67,7 +67,7 @@
 #include EFI_PROTOCOL_DEFINITION (DebugPort)
 #include EFI_PROTOCOL_DEFINITION (DebugSupport)
 #include EFI_PROTOCOL_DEFINITION (Decompress)
-#include EFI_PROTOCOL_DEFINITION (DeviceIO)
+#include EFI_PROTOCOL_DEFINITION (DeviceIo)
 #include EFI_PROTOCOL_DEFINITION (DevicePath)
 #include EFI_PROTOCOL_DEFINITION (DevicePathFromText)
 #include EFI_PROTOCOL_DEFINITION (DevicePathToText)
@@ -111,7 +111,7 @@
 #include EFI_PROTOCOL_DEFINITION (PciRootBridgeIo)
 #include EFI_PROTOCOL_DEFINITION (PlatformDriverOverride)
 #include EFI_PROTOCOL_DEFINITION (PxeBaseCode)
-#include EFI_PROTOCOL_DEFINITION (PxeBaseCodeCallback)
+#include EFI_PROTOCOL_DEFINITION (PxeBaseCodeCallBack)
 #include EFI_PROTOCOL_DEFINITION (ScsiIo)
 #include EFI_PROTOCOL_DEFINITION (ScsiPassThru)
 #include EFI_PROTOCOL_DEFINITION (SectionExtraction)
@@ -151,8 +151,8 @@
 #include EFI_PROTOCOL_DEFINITION (DriverSupportedEfiVersion)
 #include EFI_PROTOCOL_DEFINITION (PlatformToDriverConfiguration)
 
-#include "efilibplat.h"
-#include "efipart.h"
+#include "EfiLibPlat.h"
+#include "EfiPart.h"
 #include "ShellDebug.h"
 #include "CRC.h"
 #include "DPath.h"
diff --ignore-file-name-case -Naur ShellR33/Library/EfiShellLib.inf GccShellR33/Library/EfiShellLib.inf
--- ShellR33/Library/EfiShellLib.inf	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/Library/EfiShellLib.inf	2009-11-07 12:33:52.000000000 -0800
@@ -45,34 +45,42 @@
   HiiSupport.c
 
 [sources.ia32]
-  ia32\math.c
-  ia32\initplat.c
+  IA32/math.c
+  IA32/initplat.c
+  IA32/DivU64x32Remainder.S | GCC
+  IA32/LShiftU64.S          | GCC
+  IA32/RShiftU64.S          | GCC
+  IA32/MultU64x32.S         | GCC
 
 [sources.ipf]
-  ipf\math.c
-  ipf\initplat.c
-  ipf\palproc.s
-  ipf\salpal.c
+  IPF/math.c
+  IPF/initplat.c
+  IPF/palproc.s
+  IPF/salpal.c
 
 [sources.EBC]
-  EBC\math.c
-  EBC\initplat.c
+  Ebc/math.c
+  Ebc/initplat.c
   
 [sources.x64]
-  ipf\math.c
-  ia32\initplat.c
+  IPF/math.c
+  IA32/initplat.c
+
+[sources.ARM]
+  IPF/math.c
+  IA32/initplat.c
 
 [includes.common]
   .
-  ..\Inc
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Core\Dxe
+  ../Inc
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Core/Dxe
 
 [libraries.common]
   EdkFrameworkProtocolLib
diff --ignore-file-name-case -Naur ShellR33/Library/Event.c GccShellR33/Library/Event.c
--- ShellR33/Library/Event.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/Library/Event.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 EFI_EVENT
 LibCreateProtocolNotifyEvent (
diff --ignore-file-name-case -Naur ShellR33/Library/Event.h GccShellR33/Library/Event.h
--- ShellR33/Library/Event.h	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/Library/Event.h	2009-11-05 13:49:56.000000000 -0800
@@ -50,4 +50,4 @@
   OUT EFI_INPUT_KEY                 *Key
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/FileIO.c GccShellR33/Library/FileIO.c
--- ShellR33/Library/FileIO.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/Library/FileIO.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 typedef struct _PATH_COMPONENTS {
   CHAR16                  *Name;
diff --ignore-file-name-case -Naur ShellR33/Library/FileIO.h GccShellR33/Library/FileIO.h
--- ShellR33/Library/FileIO.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/FileIO.h	2009-11-05 13:49:56.000000000 -0800
@@ -208,4 +208,4 @@
   IN SIMPLE_READ_FILE               SimpleReadHandle
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/Handle.c GccShellR33/Library/Handle.c
--- ShellR33/Library/Handle.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/Library/Handle.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 EFI_STATUS
 LibLocateHandle (
diff --ignore-file-name-case -Naur ShellR33/Library/HiiSupport.c GccShellR33/Library/HiiSupport.c
--- ShellR33/Library/HiiSupport.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/Library/HiiSupport.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
 
@@ -56,11 +56,11 @@
     return EFI_SUCCESS;
   }
 
-  Status = LibLocateProtocol (&gEfiHiiDatabaseProtocolGuid, &gLibHiiDatabase);
+  Status = LibLocateProtocol (&gEfiHiiDatabaseProtocolGuid, (VOID **)&gLibHiiDatabase);
   if (EFI_ERROR (Status)) {
     return Status;
   }
-  Status = LibLocateProtocol (&gEfiHiiStringProtocolGuid, &gLibHiiString);
+  Status = LibLocateProtocol (&gEfiHiiStringProtocolGuid, (VOID **)&gLibHiiString);
   if (EFI_ERROR (Status)) {
     return Status;
   }  
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/efilibplat.h GccShellR33/Library/IA32/efilibplat.h
--- ShellR33/Library/IA32/efilibplat.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/IA32/efilibplat.h	1969-12-31 16:00:00.000000000 -0800
@@ -1,37 +0,0 @@
-/*++
-
-Copyright (c) 2005, 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         
-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.             
-
-Module Name:
-
-    efilibplat.h
-
-Abstract:
-
-    EFI to compile bindings
-
-
-
-
-Revision History
-
---*/
-#ifndef _EFI_LIB_PLAT_H_
-#define _EFI_LIB_PLAT_H_
-
-VOID
-InitializeLibPlatform (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
-  );
-
-#define MIN_ALIGNMENT_SIZE  4
-
-#endif
\ No newline at end of file
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/initplat.c GccShellR33/Library/IA32/initplat.c
--- ShellR33/Library/IA32/initplat.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/IA32/initplat.c	1969-12-31 16:00:00.000000000 -0800
@@ -1,35 +0,0 @@
-/*++
-
-Copyright (c) 2005, 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         
-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.             
-
-Module Name:
-
-    initplat.c
-
-Abstract:
-
-
-
-
-Revision History
-
---*/
-
-#include "EfiShellLib.h"
-
-VOID
-InitializeLibPlatform (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
-  )
-
-{
-  return;
-}
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/math.c GccShellR33/Library/IA32/math.c
--- ShellR33/Library/IA32/math.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/IA32/math.c	1969-12-31 16:00:00.000000000 -0800
@@ -1,217 +0,0 @@
-/*++
-
-Copyright (c) 2005, 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         
-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.             
-
-Module Name:
-
-    math.c
-
-Abstract:
-
-
-
-
-Revision History
-
---*/
-
-#include "EfiShellLib.h"
-
-//
-//
-//
-UINT64
-LShiftU64 (
-  IN UINT64   Operand,
-  IN UINTN    Count
-  )
-/*++
-Routine Description:
-
-  Left shift 64bit by 32bit and get a 64bit result
-
-Arguments:
-
-  Operand - Operand
-  Count   - Shift count
-
-Returns:
-
---*/
-{
-  UINT64  Result;
-  Result = 0;
-
-  _asm
-  {
-    mov ecx, Count
-    cmp ecx, 64
-    jge exit
-
-    mov eax, dword ptr Operand[0]
-    mov edx, dword ptr Operand[4]
-
-    shld edx, eax, cl
-    shl eax, cl
-
-    cmp ecx, 32
-    jc short ls10
-
-    mov edx, eax
-    xor eax, eax
-
-    ls10 :
-    mov dword ptr Result[0], eax
-    mov dword ptr Result[4], edx
-    exit :
-  }
-
-  return Result;
-}
-
-UINT64
-RShiftU64 (
-  IN UINT64   Operand,
-  IN UINTN    Count
-  )
-/*++
-Routine Description:
-
-  Right shift 64bit by 32bit and get a 64bit result
-  
-Arguments:
-
-  Operand - Operand
-  Count   - Shift Count
-
-Returns:
-
---*/
-{
-  UINT64  Result;
-  Result = 0;
-
-  _asm
-  {
-    mov ecx, Count
-    cmp ecx, 64
-    jge exit
-
-    mov eax, dword ptr Operand[0]
-    mov edx, dword ptr Operand[4]
-
-    shrd eax, edx, cl
-    shr edx, cl
-
-    cmp ecx, 32
-    jc short rs10
-
-    mov eax, edx
-    xor edx, edx
-
-    rs10 :
-    mov dword ptr Result[0], eax
-    mov dword ptr Result[4], edx
-    exit :
-  }
-
-  return Result;
-}
-
-UINT64
-MultU64x32 (
-  IN UINT64   Multiplicand,
-  IN UINTN    Multiplier
-  )
-/*++
-Routine Description:
-
-  Multiple 64bit by 32bit and get a 64bit result
-  
-Arguments:
-
-  Multiplicand - Multiplicand
-  Multiplier   - Multiplier
-
-Returns:
-
---*/
-{
-  UINT64  Result;
-
-  _asm
-  {
-    mov eax, dword ptr Multiplicand[0]
-    mul Multiplier
-    mov dword ptr Result[0], eax
-    mov dword ptr Result[4], edx
-    mov eax, dword ptr Multiplicand[4]
-    mul Multiplier
-    add dword ptr Result[4], eax
-  }
-
-  return Result;
-}
-
-UINT64
-DivU64x32 (
-  IN UINT64   Dividend,
-  IN UINTN    Divisor,
-  OUT UINTN   *Remainder OPTIONAL
-  )
-/*++
-Routine Description:
-
-  divide 64bit by 32bit and get a 64bit result
-  N.B. only works for 31bit divisors!!
-
-Arguments:
-
-  Dividend  - The dividend
-  Divisor   - The divisor
-  Remainder - The remainder
-
-Return:
-
---*/
-{
-  UINT32  Rem;
-  UINT32  bit;
-
-  ASSERT (Divisor != 0);
-  ASSERT ((Divisor >> 31) == 0);
-
-  //
-  // For each bit in the dividend
-  //
-  Rem = 0;
-  for (bit = 0; bit < 64; bit++) {
-    _asm
-    {
-      shl dword ptr Dividend[0], 1    /*  shift rem:dividend left one */
-      rcl dword ptr Dividend[4], 1
-      rcl dword ptr Rem, 1
-
-      mov eax, Rem
-      cmp eax, Divisor                /*  Is Rem >= Divisor? */
-      cmc                             /*  No - do nothing */
-      sbb eax, eax                    /*  Else, */
-      sub dword ptr Dividend[0], eax  /*    set low bit in dividen */
-      and eax, Divisor                /*  and */
-      sub Rem, eax                    /*    subtract divisor */
-    }
-  }
-
-  if (Remainder) {
-    *Remainder = Rem;
-  }
-
-  return Dividend;
-}
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/DivU64x32Remainder.S GccShellR33/Library/IA32/DivU64x32Remainder.S
--- ShellR33/Library/IA32/DivU64x32Remainder.S	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/DivU64x32Remainder.S	2009-10-13 20:18:23.000000000 -0700
@@ -0,0 +1,58 @@
+#------------------------------------------------------------------------------
+#
+# Copyright (c) 2006, 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
+# 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.
+#
+# Module Name:
+#
+#   DivError.asm
+#
+# Abstract:
+#
+#   Set error flag for all division functions
+#
+#------------------------------------------------------------------------------
+
+  ///
+  /// Private worker functions for ASM_PFX()
+  ///
+  #define _CONCATENATE(a, b)  __CONCATENATE(a, b)
+  #define __CONCATENATE(a, b) a ## b
+
+  ///
+  /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix
+  /// on symbols in assembly language.
+  ///
+  #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
+.globl ASM_PFX(InternalMathDivRemU64x32)
+
+#------------------------------------------------------------------------------
+# UINT64
+# EFIAPI
+# InternalMathDivRemU64x32 (
+#   IN      UINT64                    Dividend,
+#   IN      UINT32                    Divisor,
+#   OUT     UINT32                    *Remainder
+#   );
+#------------------------------------------------------------------------------
+ASM_PFX(InternalMathDivRemU64x32):
+    movl    12(%esp), %ecx
+    movl    8(%esp), %eax
+    xorl    %edx, %edx
+    divl    %ecx
+    push    %eax
+    movl    8(%esp), %eax
+    divl    %ecx
+    movl    20(%esp), %ecx
+    jecxz   L1
+    movl    %edx, (%ecx)
+L1:
+    pop     %edx
+    ret
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/EfiLibPlat.h GccShellR33/Library/IA32/EfiLibPlat.h
--- ShellR33/Library/IA32/EfiLibPlat.h	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/EfiLibPlat.h	2009-11-10 11:17:48.000000000 -0800
@@ -0,0 +1,37 @@
+/*++
+
+Copyright (c) 2005, 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         
+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.             
+
+Module Name:
+
+    efilibplat.h
+
+Abstract:
+
+    EFI to compile bindings
+
+
+
+
+Revision History
+
+--*/
+#ifndef _EFI_LIB_PLAT_H_
+#define _EFI_LIB_PLAT_H_
+
+VOID
+InitializeLibPlatform (
+  IN EFI_HANDLE           ImageHandle,
+  IN EFI_SYSTEM_TABLE     *SystemTable
+  );
+
+#define MIN_ALIGNMENT_SIZE  4
+
+#endif
\ No newline at end of file
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/initplat.c GccShellR33/Library/IA32/initplat.c
--- ShellR33/Library/IA32/initplat.c	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/initplat.c	2009-09-22 15:37:05.000000000 -0700
@@ -0,0 +1,35 @@
+/*++
+
+Copyright (c) 2005, 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         
+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.             
+
+Module Name:
+
+    initplat.c
+
+Abstract:
+
+
+
+
+Revision History
+
+--*/
+
+#include "EfiShellLib.h"
+
+VOID
+InitializeLibPlatform (
+  IN EFI_HANDLE           ImageHandle,
+  IN EFI_SYSTEM_TABLE     *SystemTable
+  )
+
+{
+  return;
+}
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/LShiftU64.S GccShellR33/Library/IA32/LShiftU64.S
--- ShellR33/Library/IA32/LShiftU64.S	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/LShiftU64.S	2009-09-22 15:37:05.000000000 -0700
@@ -0,0 +1,53 @@
+#------------------------------------------------------------------------------
+#
+# Copyright (c) 2006, 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
+# 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.
+#
+# Module Name:
+#
+#   LShiftU64.asm
+#
+# Abstract:
+#
+#   64-bit left shift function for IA-32
+#
+#------------------------------------------------------------------------------
+
+  ///
+  /// Private worker functions for ASM_PFX()
+  ///
+  #define _CONCATENATE(a, b)  __CONCATENATE(a, b)
+  #define __CONCATENATE(a, b) a ## b
+
+  ///
+  /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix
+  /// on symbols in assembly language.
+  ///
+  #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
+.globl ASM_PFX(InternalMathLShiftU64)
+
+#------------------------------------------------------------------------------
+# UINT64
+# EFIAPI
+# InternalMathLShiftU64 (
+#   IN      UINT64                    Operand,
+#   IN      UINTN                     Count
+#   );
+#------------------------------------------------------------------------------
+ASM_PFX(InternalMathLShiftU64):
+    movb    12(%esp), %cl
+    xorl    %eax, %eax
+    movl    4(%esp), %edx
+    testb   $32, %cl
+    cmovz   %edx, %eax
+    cmovz   0x8(%esp), %edx
+    shld    %cl, %eax, %edx
+    shl     %cl, %eax
+    ret
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/math.c GccShellR33/Library/IA32/math.c
--- ShellR33/Library/IA32/math.c	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/math.c	2009-10-10 13:58:07.000000000 -0700
@@ -0,0 +1,267 @@
+/*++
+
+Copyright (c) 2005, 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         
+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.             
+
+Module Name:
+
+    math.c
+
+Abstract:
+
+
+
+
+Revision History
+
+--*/
+
+#include "EfiShellLib.h"
+
+#if __GNUC__
+
+UINT64
+InternalMathLShiftU64 (
+  IN UINT64   Operand,
+  IN UINTN    Count
+  );
+  
+UINT64
+InternalMathRShiftU64 (
+  IN UINT64   Operand,
+  IN UINTN    Count
+  );
+
+UINT64
+InternalMathMultU64x32 (
+  IN UINT64   Multiplicand,
+  IN UINTN    Multiplier
+  );
+
+UINT64
+InternalMathDivRemU64x32 (
+  IN UINT64   Dividend,
+  IN UINTN    Divisor,
+  OUT UINTN   *Remainder OPTIONAL
+  );
+
+#endif
+
+//
+//
+//
+UINT64
+LShiftU64 (
+  IN UINT64   Operand,
+  IN UINTN    Count
+  )
+/*++
+Routine Description:
+
+  Left shift 64bit by 32bit and get a 64bit result
+
+Arguments:
+
+  Operand - Operand
+  Count   - Shift count
+
+Returns:
+
+--*/
+{
+#if __GNUC__
+  return InternalMathLShiftU64 (Operand, Count);
+#else
+  UINT64  Result;
+  Result = 0;
+
+  _asm
+  {
+    mov ecx, Count
+    cmp ecx, 64
+    jge exit
+
+    mov eax, dword ptr Operand[0]
+    mov edx, dword ptr Operand[4]
+
+    shld edx, eax, cl
+    shl eax, cl
+
+    cmp ecx, 32
+    jc short ls10
+
+    mov edx, eax
+    xor eax, eax
+
+    ls10 :
+    mov dword ptr Result[0], eax
+    mov dword ptr Result[4], edx
+    exit :
+  }
+
+  return Result;
+#endif
+}
+
+UINT64
+RShiftU64 (
+  IN UINT64   Operand,
+  IN UINTN    Count
+  )
+/*++
+Routine Description:
+
+  Right shift 64bit by 32bit and get a 64bit result
+  
+Arguments:
+
+  Operand - Operand
+  Count   - Shift Count
+
+Returns:
+
+--*/
+{
+#if __GNUC__
+  return InternalMathRShiftU64 (Operand, Count);
+#else
+  UINT64  Result;
+  Result = 0;
+
+  _asm
+  {
+    mov ecx, Count
+    cmp ecx, 64
+    jge exit
+
+    mov eax, dword ptr Operand[0]
+    mov edx, dword ptr Operand[4]
+
+    shrd eax, edx, cl
+    shr edx, cl
+
+    cmp ecx, 32
+    jc short rs10
+
+    mov eax, edx
+    xor edx, edx
+
+    rs10 :
+    mov dword ptr Result[0], eax
+    mov dword ptr Result[4], edx
+    exit :
+  }
+
+  return Result;
+#endif
+}
+
+UINT64
+MultU64x32 (
+  IN UINT64   Multiplicand,
+  IN UINTN    Multiplier
+  )
+/*++
+Routine Description:
+
+  Multiple 64bit by 32bit and get a 64bit result
+  
+Arguments:
+
+  Multiplicand - Multiplicand
+  Multiplier   - Multiplier
+
+Returns:
+
+--*/
+{
+#if __GNUC__
+  return InternalMathMultU64x32 (Multiplicand, Multiplier);
+#else
+  UINT64  Result;
+
+  _asm
+  {
+    mov eax, dword ptr Multiplicand[0]
+    mul Multiplier
+    mov dword ptr Result[0], eax
+    mov dword ptr Result[4], edx
+    mov eax, dword ptr Multiplicand[4]
+    mul Multiplier
+    add dword ptr Result[4], eax
+  }
+
+  return Result;
+#endif
+}
+
+UINT64
+DivU64x32 (
+  IN UINT64   Dividend,
+  IN UINTN    Divisor,
+  OUT UINTN   *Remainder OPTIONAL
+  )
+/*++
+Routine Description:
+
+  divide 64bit by 32bit and get a 64bit result
+  N.B. only works for 31bit divisors!!
+
+Arguments:
+
+  Dividend  - The dividend
+  Divisor   - The divisor
+  Remainder - The remainder
+
+Return:
+
+--*/
+{
+#if __GNUC__
+  ASSERT (Divisor != 0);
+  ASSERT ((Divisor >> 31) == 0);
+
+  return InternalMathDivRemU64x32 (Dividend, Divisor, Remainder);
+	
+#else
+  UINT32  Rem;
+  UINT32  bit;
+
+  ASSERT (Divisor != 0);
+  ASSERT ((Divisor >> 31) == 0);
+
+  //
+  // For each bit in the dividend
+  //
+  Rem = 0;
+  for (bit = 0; bit < 64; bit++) {
+    _asm
+    {
+      shl dword ptr Dividend[0], 1    /*  shift rem:dividend left one */
+      rcl dword ptr Dividend[4], 1
+      rcl dword ptr Rem, 1
+
+      mov eax, Rem
+      cmp eax, Divisor                /*  Is Rem >= Divisor? */
+      cmc                             /*  No - do nothing */
+      sbb eax, eax                    /*  Else, */
+      sub dword ptr Dividend[0], eax  /*    set low bit in dividen */
+      and eax, Divisor                /*  and */
+      sub Rem, eax                    /*    subtract divisor */
+    }
+  }
+
+  if (Remainder) {
+    *Remainder = Rem;
+  }
+
+  return Dividend;
+#endif
+}
+
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/MultU64x32.S GccShellR33/Library/IA32/MultU64x32.S
--- ShellR33/Library/IA32/MultU64x32.S	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/MultU64x32.S	2009-09-22 15:37:05.000000000 -0700
@@ -0,0 +1,53 @@
+#------------------------------------------------------------------------------
+#
+# Copyright (c) 2006, 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
+# 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.
+#
+# Module Name:
+#
+#   MultU64x32.asm
+#
+# Abstract:
+#
+#   Calculate the product of a 64-bit integer and a 32-bit integer
+#
+#------------------------------------------------------------------------------
+
+  ///
+  /// Private worker functions for ASM_PFX()
+  ///
+  #define _CONCATENATE(a, b)  __CONCATENATE(a, b)
+  #define __CONCATENATE(a, b) a ## b
+
+  ///
+  /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix
+  /// on symbols in assembly language.
+  ///
+  #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
+    .386:
+    .code:
+
+.globl ASM_PFX(InternalMathMultU64x32)
+
+#------------------------------------------------------------------------------
+# UINT64
+# EFIAPI
+# InternalMathMultU64x32 (
+#   IN      UINT64                    Multiplicand,
+#   IN      UINT32                    Multiplier
+#   );
+#------------------------------------------------------------------------------
+ASM_PFX(InternalMathMultU64x32):
+    movl    12(%esp), %ecx
+    movl    %ecx, %eax
+    imull   8(%esp), %ecx
+    mull    0x4(%esp)
+    addl    %ecx, %edx
+    ret
diff --ignore-file-name-case -Naur ShellR33/Library/IA32/RShiftU64.S GccShellR33/Library/IA32/RShiftU64.S
--- ShellR33/Library/IA32/RShiftU64.S	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/Library/IA32/RShiftU64.S	2009-09-22 15:37:05.000000000 -0700
@@ -0,0 +1,56 @@
+#------------------------------------------------------------------------------
+#
+# Copyright (c) 2006, 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
+# 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.
+#
+# Module Name:
+#
+#   RShiftU64.asm
+#
+# Abstract:
+#
+#   64-bit logical right shift function for IA-32
+#
+#------------------------------------------------------------------------------
+
+  ///
+  /// Private worker functions for ASM_PFX()
+  ///
+  #define _CONCATENATE(a, b)  __CONCATENATE(a, b)
+  #define __CONCATENATE(a, b) a ## b
+
+  ///
+  /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix
+  /// on symbols in assembly language.
+  ///
+  #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
+    .686:
+    .code:
+
+.globl ASM_PFX(InternalMathRShiftU64)
+
+#------------------------------------------------------------------------------
+# UINT64
+# EFIAPI
+# InternalMathRShiftU64 (
+#   IN      UINT64                    Operand,
+#   IN      UINTN                     Count
+#   );
+#------------------------------------------------------------------------------
+ASM_PFX(InternalMathRShiftU64):
+    movb    12(%esp), %cl
+    xorl    %edx, %edx
+    movl    8(%esp), %eax
+    testb   $32, %cl
+    cmovz   %eax, %edx
+    cmovz   0x4(%esp), %eax
+    shrdl   %cl, %edx, %eax
+    shr     %cl, %edx
+    ret
diff --ignore-file-name-case -Naur ShellR33/Library/Init.c GccShellR33/Library/Init.c
--- ShellR33/Library/Init.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/Library/Init.c	2009-09-22 19:19:20.000000000 -0700
@@ -20,7 +20,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 extern EFI_UNICODE_COLLATION_PROTOCOL LibStubUnicodeInterface;
 
diff --ignore-file-name-case -Naur ShellR33/Library/IO.c GccShellR33/Library/IO.c
--- ShellR33/Library/IO.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/Library/IO.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 #define PRINT_STRING_LEN        1024
 #define PRINT_ITEM_BUFFER_LEN   100
@@ -1658,7 +1658,7 @@
         //
         // Adjust the current column and row
         //
-        ConMoveCursorBackward (LineLength, &Column, &Row);
+        ConMoveCursorBackward (LineLength, &Column, (UINTN *)&Row);
       }
       break;
 
@@ -1708,7 +1708,7 @@
         //
         if (StrPos) {
           StrPos -= 1;
-          ConMoveCursorBackward (LineLength, &Column, &Row);
+          ConMoveCursorBackward (LineLength, &Column, (UINTN *)&Row);
         }
         break;
 
@@ -1718,7 +1718,7 @@
         //
         if (StrPos < Len) {
           StrPos += 1;
-          ConMoveCursorForward (LineLength, TotalRow, &Column, &Row);
+          ConMoveCursorForward (LineLength, TotalRow, &Column, (UINTN *)&Row);
         }
         break;
 
@@ -1913,8 +1913,8 @@
   ST->ConOut->QueryMode (
                 ST->ConOut,
                 ST->ConOut->Mode->Mode,
-                &mPrintMode.MaxColumn,
-                &mPrintMode.MaxRow
+                (UINTN *)&mPrintMode.MaxColumn,
+                (UINTN *)&mPrintMode.MaxRow
                 );
 
   mPrintMode.Row = StartRow;
@@ -1928,8 +1928,6 @@
   return mPrintMode.PageBreak;
 }
 
-STATIC
-
 BOOLEAN
 GetOutputPause (
   VOID
diff --ignore-file-name-case -Naur ShellR33/Library/IO.h GccShellR33/Library/IO.h
--- ShellR33/Library/IO.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/IO.h	2009-11-05 13:49:56.000000000 -0800
@@ -157,4 +157,4 @@
   );
 
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/IPF/libsalpal.h GccShellR33/Library/IPF/libsalpal.h
--- ShellR33/Library/IPF/libsalpal.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/IPF/libsalpal.h	2009-11-05 13:49:56.000000000 -0800
@@ -74,4 +74,4 @@
   IN  UINT64    Arg8
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/Lock.c GccShellR33/Library/Lock.c
--- ShellR33/Library/Lock.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/Lock.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 VOID
 InitializeLock (
diff --ignore-file-name-case -Naur ShellR33/Library/Lock.h GccShellR33/Library/Lock.h
--- ShellR33/Library/Lock.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/Lock.h	2009-11-05 13:49:56.000000000 -0800
@@ -45,4 +45,4 @@
   IN FLOCK    *Lock
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/Mem.c GccShellR33/Library/Mem.c
--- ShellR33/Library/Mem.c	2006-06-12 23:18:21.000000000 -0700
+++ GccShellR33/Library/Mem.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 VOID
 SetMem (
diff --ignore-file-name-case -Naur ShellR33/Library/Mem.h GccShellR33/Library/Mem.h
--- ShellR33/Library/Mem.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/Mem.h	2009-11-05 13:49:56.000000000 -0800
@@ -73,4 +73,4 @@
   IN UINTN    Size
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/Misc.c GccShellR33/Library/Misc.c
--- ShellR33/Library/Misc.c	2009-08-13 22:57:02.000000000 -0700
+++ GccShellR33/Library/Misc.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 #if (PLATFORM == NT32)
 #define LOCAL_EFI_WIN_NT_THUNK_PROTOCOL_GUID \
@@ -51,7 +51,309 @@
 
 #define DEFAULT_FORM_BUFFER_SIZE  0xFFFF
 
-STATIC EFI_SHELL_ENVIRONMENT  *mShellEnv = NULL;
+struct {
+  EFI_GUID  *Guid;
+  CHAR16    *GuidName;
+}
+KnownGuids[] = {
+  //
+  // Loaded Image
+  //
+  &gEfiLoadedImageProtocolGuid,
+  L"Image",
+  //
+  // Device Path
+  //
+  &gEfiDevicePathProtocolGuid,
+  L"Dpath",
+  &gEfiLoadedImageDevicePathProtocolGuid,
+  L"ImageDPath",
+  &gEfiDevicePathUtilitiesProtocolGuid,
+  L"DpathUtil",
+  &gEfiDevicePathToTextProtocolGuid,
+  L"DpathToText",
+  &gEfiDevicePathFromTextProtocolGuid,
+  L"DpathFromText",
+  &PcAnsiProtocol,
+  L"PcAnsi",
+  &Vt100Protocol,
+  L"Vt100",
+  &Vt100PlusProtocol,
+  L"Vt100+",
+  &VtUtf8Protocol,
+  L"VtUtf8",
+  //
+  // Driver Model
+  //
+  &gEfiDriverBindingProtocolGuid,
+  L"DriverBinding",
+  &gEfiPlatformDriverOverrideProtocolGuid,
+  L"PlatformOverride",
+  &gEfiBusSpecificDriverOverrideProtocolGuid,
+  L"BusSpecificDriverOverride",
+  &gEfiDriverDiagnosticsProtocolGuid,
+  L"Diagnostics",
+  &gEfiDriverDiagnostics2ProtocolGuid,
+  L"Diagnostics2",
+  &gEfiComponentNameProtocolGuid,
+  L"ComponentName",
+  &gEfiComponentName2ProtocolGuid,
+  L"ComponentName2",
+  &gEfiPlatformToDriverConfigurationProtocolGuid,
+  L"PlatformDriverConfig",
+  &gEfiDriverSupportedEfiVersionProtocolGuid,
+  L"DriverEFIVersion",
+  //
+  // Console Support
+  //
+  &gEfiSimpleTextInputExProtocolGuid,
+  L"TxtinEx",
+  &gEfiSimpleTextInProtocolGuid,
+  L"Txtin",
+  &gEfiSimpleTextOutProtocolGuid,
+  L"Txtout",
+  &gEfiSimplePointerProtocolGuid,
+  L"SimplePointer",
+  &gEfiAbsolutePointerProtocolGuid,
+  L"AbsolutePointer",
+  &gEfiSerialIoProtocolGuid,
+  L"SerialIo",
+  &gEfiGraphicsOutputProtocolGuid,
+  L"GraphicsOutput",
+  &gEfiEdidDiscoveredProtocolGuid,
+  L"EdidDiscovered",
+  &gEfiEdidActiveProtocolGuid,
+  L"EdidActive",
+  &gEfiEdidOverrideProtocolGuid,
+  L"EdidOverride",
+  &gEfiConsoleInDeviceGuid,
+  L"ConIn",
+  &gEfiConsoleOutDeviceGuid,
+  L"ConOut",
+  &gEfiStandardErrorDeviceGuid,
+  L"StdErr",
+  //
+  // Media Access
+  //
+  &gEfiLoadFileProtocolGuid,
+  L"Load",
+  &gEfiLoadFile2ProtocolGuid,
+  L"Load2",
+  &gEfiSimpleFileSystemProtocolGuid,
+  L"Fs",
+  &gEfiFileInfoGuid,
+  L"GenFileInfo",
+  &gEfiFileSystemInfoGuid,
+  L"FileSysInfo",
+  &gEfiTapeIoProtocolGuid,
+  L"TapeIo",
+  &gEfiDiskIoProtocolGuid,
+  L"DiskIo",
+  &gEfiBlockIoProtocolGuid,
+  L"BlkIo",
+  &gEfiUnicodeCollationProtocolGuid,
+  L"UnicodeCollation",
+  &gEfiUnicodeCollation2ProtocolGuid,
+  L"UnicodeCollation2",
+  //
+  // PCI Bus Support
+  //
+  &gEfiPciRootBridgeIoProtocolGuid,
+  L"PciRootBridgeIo",
+  &gEfiPciIoProtocolGuid,
+  L"PciIo",
+  //
+  // SCSI Bus Support
+  //
+  &gEfiScsiPassThruProtocolGuid,
+  L"ScsiPassThru",
+  &gEfiScsiIoProtocolGuid,
+  L"ScsiIo",
+  &gEfiExtScsiPassThruProtocolGuid,
+  L"ExtScsiPassThru",
+  //
+  // iSCSI
+  //
+  &gEfiIScsiInitiatorNameProtocolGuid,
+  L"IScsiInitName",
+  //
+  // USB Support
+  //
+  &gEfiUsbIoProtocolGuid,
+  L"UsbIo",
+  &gEfiUsb2HcProtocolGuid,
+  L"UsbHc",
+  &gEfiUsb2HcProtocolGuid,
+  L"UsbHc2", 
+  //
+  // Debugger Support
+  //
+  &gEfiDebugSupportProtocolGuid,
+  L"DebugSupport",
+  &gEfiDebugPortDevicePathGuid,
+  L"DebugPort",
+  //
+  // Decompression Algorithm
+  //
+  &gEfiDecompressProtocolGuid,
+  L"Decompress",
+  //
+  // ACPI
+  //
+  &gEfiAcpiTableProtocolGuid,
+  L"AcpiTable",
+  // EBC
+  //
+  &gEfiEbcProtocolGuid,
+  L"EbcInterp",
+  //
+  // SNP, PXE, BIS
+  //
+  &gEfiSimpleNetworkProtocolGuid,
+  L"Net",
+  &gEfiNetworkInterfaceIdentifierProtocolGuid,
+  L"Nii",
+  &gEfiPxeBaseCodeProtocolGuid,
+  L"Pxebc",
+  &gEfiPxeBaseCodeCallbackProtocolGuid,
+  L"PxebcCallback",
+  &gEfiBisProtocolGuid,
+  L"Bis",
+  //
+  // Managed Network
+  //
+  &gEfiManagedNetworkServiceBindingProtocolGuid,
+  L"MNPSb",
+  &gEfiManagedNetworkProtocolGuid,
+  L"MNP",
+  //
+  // ARP, DHCPv4
+  //
+  &gEfiArpServiceBindingProtocolGuid,
+  L"ARPSb",
+  &gEfiArpProtocolGuid,
+  L"ARP",
+  &gEfiDhcp4ServiceBindingProtocolGuid,
+  L"DHCPv4Sb",
+  &gEfiDhcp4ProtocolGuid,
+  L"DHCPv4",
+  //
+  // TCPv4, IPv4 and Configuration
+  //
+  &gEfiTcp4ServiceBindingProtocolGuid,
+  L"TCPv4Sb",
+  &gEfiTcp4ProtocolGuid,
+  L"TCPv4",
+  &gEfiIp4ServiceBindingProtocolGuid,
+  L"IPv4Sb",
+  &gEfiIp4ProtocolGuid,
+  L"IPv4",
+  &gEfiIp4ConfigProtocolGuid,
+  L"IPv4Config",
+  //
+  // UDPv4, MTFTPv4
+  //
+  &gEfiUdp4ServiceBindingProtocolGuid,
+  L"UDPv4Sb",
+  &gEfiUdp4ProtocolGuid,
+  L"UDPv4",
+  &gEfiMtftp4ServiceBindingProtocolGuid,
+  L"MTFTPv4Sb",
+  &gEfiMtftp4ProtocolGuid,
+  L"MTFTPv4",
+  //
+  // Security
+  //
+  &gEfiAuthenticationInfoProtocolGuid,
+  L"AuthInfo",
+  &gEfiHashServiceBindingProtocolGuid,
+  L"HashSb",
+  &gEfiHashProtocolGuid,
+  L"Hash",
+  //
+  // HII 
+  //
+#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
+  &gEfiHiiFontProtocolGuid,
+  L"HiiFont",
+  &gEfiHiiStringProtocolGuid,
+  L"HiiString",
+  &gEfiHiiImageProtocolGuid,
+  L"HiiImage",
+  &gEfiHiiDatabaseProtocolGuid,
+  L"HiiDatabase",
+  //
+  // HII Configuration Processing and Browser
+  //
+  &gEfiHiiConfigRoutingProtocolGuid,
+  L"HiiConfRouting",
+  &gEfiHiiConfigAccessProtocolGuid,
+  L"HiiConfAccess",
+  &gEfiFormBrowser2ProtocolGuid,
+  L"FormBrowser2",
+#else
+  &gEfiHiiProtocolGuid,
+  L"Hii",
+  &gEfiFormBrowserProtocolGuid,
+  L"FormBrowser",
+  &gEfiFormCallbackProtocolGuid,
+  L"FormCallback",
+#endif
+  //
+  // Shell Specific
+  //
+  &NullGuid,
+  L"G0",
+  &ShellInterfaceProtocol,
+  L"ShellInt",
+  //
+  // Deprecated
+  //
+  &gEfiDeviceIoProtocolGuid,
+  L"DevIo",
+  &gEfiTcpProtocolGuid,
+  L"Tcp",
+  &gEfiUgaDrawProtocolGuid,
+  L"UgaDraw",
+  &gEfiUgaIoProtocolGuid,
+  L"UgaIo",
+  &gEfiGlobalVariableGuid,
+  L"Efi",
+  &gEfiFileSystemInfoGuid,
+  L"FileSysInfo",
+  &gEfiPartTypeSystemPartGuid,
+  L"ESP",
+  &gEfiPartTypeLegacyMbrGuid,
+  L"GPT MBR",
+  &gEfiDriverConfigurationProtocolGuid,
+  L"Configuration",
+  &gEfiDriverConfiguration2ProtocolGuid,
+  L"Configuration2",
+  &gEfiIsaIoProtocolGuid,
+  L"IsaIo",
+  &gEfiIsaAcpiProtocolGuid,
+  L"IsaAcpi",
+  //
+  // NT32
+  //
+#if (PLATFORM == NT32)
+  &WinNtThunkProtocolGuid,
+  L"WinNtThunk",
+  &WinNtIoProtocolGuid,
+  L"WinNtDriverIo",
+  &WinNtSerialPortGuid,
+  L"SerialPrivate",
+#endif
+  //
+  // Misc
+  //
+  &gEfiVariableStoreProtocolGuid,
+  L"varstore",
+  &UnknownDeviceGuid,
+  L"Unknown Device",
+
+  NULL
+};
 
 STATIC CHAR8  Hex[] = {
   '0',
@@ -336,23 +638,18 @@
 
 --*/
 {
-  EFI_STATUS  Status;
-  CHAR16      *GuidName;
+  UINTN Index;
 
   ASSERT (Guid != NULL);
   ASSERT (Buffer != NULL);
 
-  if (mShellEnv == NULL) {
-    Status = LibLocateProtocol (&ShellEnvProtocol, &mShellEnv);
-    if (EFI_ERROR (Status)) {
-      mShellEnv = NULL;
-    }
-  }
-  if (mShellEnv != NULL) {
-    GuidName = mShellEnv->GetProt (Guid, FALSE);
-    if (GuidName != NULL) {
-      SPrint (Buffer, 0, L"%s", GuidName);
-      return;
+  //
+  // Else, (for now) use additional internal function for mapping guids
+  //
+  for (Index = 0; KnownGuids[Index].Guid; Index++) {
+    if (CompareGuid (Guid, KnownGuids[Index].Guid) == 0) {
+      SPrint (Buffer, 0, KnownGuids[Index].GuidName);
+      return ;
     }
   }
   //
@@ -1166,7 +1463,7 @@
       Status = BS->HandleProtocol (
                     Image->DeviceHandle,
                     &gEfiFirmwareVolumeProtocolGuid,
-                    &FV
+                    (VOID **)&FV
                     );
       if (!EFI_ERROR (Status)) {
         Status = FV->ReadSection (
@@ -1187,7 +1484,7 @@
         Status = BS->HandleProtocol (
                       Image->DeviceHandle,
                       &gEfiFirmwareVolume2ProtocolGuid,
-                      &FV2
+                      (VOID **)&FV2
                       );
         if (!EFI_ERROR (Status)) {
           Status = FV2->ReadSection (
diff --ignore-file-name-case -Naur ShellR33/Library/Perf.c GccShellR33/Library/Perf.c
--- ShellR33/Library/Perf.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/Perf.c	2009-09-22 19:19:20.000000000 -0700
@@ -19,7 +19,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 #include EFI_PROTOCOL_DEFINITION (Performance)
 
diff --ignore-file-name-case -Naur ShellR33/Library/RtData.c GccShellR33/Library/RtData.c
--- ShellR33/Library/RtData.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/RtData.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 //
 // RT - pointer to the runtime table
diff --ignore-file-name-case -Naur ShellR33/Library/ShellDebug.c GccShellR33/Library/ShellDebug.c
--- ShellR33/Library/ShellDebug.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/Library/ShellDebug.c	2009-09-22 16:16:30.000000000 -0700
@@ -19,7 +19,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 #include EFI_PROTOCOL_DEFINITION (DebugAssert)
 
 EFI_DEBUG_ASSERT_PROTOCOL *mDebugAssert = NULL;
@@ -66,6 +66,7 @@
   }
 }
 
+
 VOID
 EfiDebugPrint (
   IN  UINTN     ErrorLevel,
diff --ignore-file-name-case -Naur ShellR33/Library/ShellEnvInt.c GccShellR33/Library/ShellEnvInt.c
--- ShellR33/Library/ShellEnvInt.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/Library/ShellEnvInt.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 EFI_STATUS
 ShellExecute (
diff --ignore-file-name-case -Naur ShellR33/Library/ShellEnvInt.h GccShellR33/Library/ShellEnvInt.h
--- ShellR33/Library/ShellEnvInt.h	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/Library/ShellEnvInt.h	2009-11-05 13:49:56.000000000 -0800
@@ -196,4 +196,4 @@
   VOID
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/Library/Str.c GccShellR33/Library/Str.c
--- ShellR33/Library/Str.c	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/Library/Str.c	2009-09-22 19:19:20.000000000 -0700
@@ -22,7 +22,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 INTN
 StrCmp (
@@ -421,7 +421,7 @@
         return (UINTN) -1;
       }
 
-      u = u << 4 | c - (c >= 'A' ? 'A' - 10 : '0');
+      u = (u << 4) | (c - (c >= 'A' ? 'A' - 10 : '0'));
     } else {
       break;
     }
@@ -472,7 +472,7 @@
   c = *(str++);
   while (c) {
     if (c >= '0' && c <= '9') {
-      if (u > m || u == m && c - '0' > (INTN) n) {
+      if ((u > m) || ((u == m) && (c - '0' > (INTN) n))) {
         return (UINTN) -1;
       }
 
diff --ignore-file-name-case -Naur ShellR33/Library/VarCheck.c GccShellR33/Library/VarCheck.c
--- ShellR33/Library/VarCheck.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/VarCheck.c	2009-09-22 19:19:20.000000000 -0700
@@ -21,7 +21,7 @@
 
 --*/
 
-#include "EfiShelllib.h"
+#include "EfiShellLib.h"
 
 VOID
 LibCheckVarFreeVarList (
diff --ignore-file-name-case -Naur ShellR33/Library/VarCheck.h GccShellR33/Library/VarCheck.h
--- ShellR33/Library/VarCheck.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/Library/VarCheck.h	2009-09-22 15:37:05.000000000 -0700
@@ -41,7 +41,7 @@
   ARG_PARTIALLY_QUOTED  = 0x2,
   ARG_FIRST_HALF_QUOTED = 0x4,
   ARG_FIRST_CHAR_IS_ESC = 0x8
-};
+} SHELL_I_NEED_A_NAME;
 
 typedef struct {
   CHAR16                    *FlagStr;
diff --ignore-file-name-case -Naur ShellR33/load/load.inf GccShellR33/load/load.inf
--- ShellR33/load/load.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/load/load.inf	2009-09-22 15:37:05.000000000 -0700
@@ -39,23 +39,23 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   LoadStrings.uni
   load.c
     
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/LoadPciRom/LoadPciRom.c GccShellR33/LoadPciRom/LoadPciRom.c
--- ShellR33/LoadPciRom/LoadPciRom.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/LoadPciRom/LoadPciRom.c	2009-11-05 13:49:56.000000000 -0800
@@ -24,7 +24,7 @@
 
 #include "EfiShellLib.h"
 #include "LoadPciRom.h"
-#include "Pci22.h"
+#include "pci22.h"
 
 extern UINT8    STRING_ARRAY_NAME[];
 
@@ -56,7 +56,7 @@
   );
 
 EFI_HANDLE      gMyImageHandle;
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiLoadPciRomGuid = EFI_LOADPCIROM_GUID;
 SHELL_VAR_CHECK_ITEM    LPRCheckList[] = {
   {
@@ -377,7 +377,7 @@
         }
 
         if (EfiRomHeader->CompressionType == EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) {
-          Status = BS->LocateProtocol (&gEfiDecompressProtocolGuid, NULL, &Decompress);
+          Status = BS->LocateProtocol (&gEfiDecompressProtocolGuid, NULL, (VOID **)&Decompress);
           if (EFI_ERROR (Status)) {
             PrintToken (STRING_TOKEN (STR_LOADPCIROM_DECOMP_NOT_FOUND), HiiHandle);
             SkipImage = TRUE;
diff --ignore-file-name-case -Naur ShellR33/LoadPciRom/LoadPciRom.inf GccShellR33/LoadPciRom/LoadPciRom.inf
--- ShellR33/LoadPciRom/LoadPciRom.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/LoadPciRom/LoadPciRom.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,23 +41,23 @@
 
 [sources.common]
   LoadPciRomStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   LoadPciRom.c
   LoadPciRom.h  
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/ls/ls.c GccShellR33/ls/ls.c
--- ShellR33/ls/ls.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/ls/ls.c	2009-09-22 15:37:05.000000000 -0700
@@ -917,7 +917,7 @@
 
   if ((IsMatch && mIgnoreAttribute) ||
       (IsMatch && !mAttributes && !(Info->Attribute & EFI_FILE_HIDDEN) && !(Info->Attribute & EFI_FILE_SYSTEM)) ||
-      IsMatch &&
+      (IsMatch &&
       mAttributes &&
       (
         (mAttribA ? (Info->Attribute & EFI_FILE_ARCHIVE ? TRUE : FALSE) : TRUE) &&
@@ -925,7 +925,7 @@
       (mAttribR ? (Info->Attribute & EFI_FILE_READ_ONLY ? TRUE : FALSE) : TRUE) &&
       (mAttribS ? (Info->Attribute & EFI_FILE_SYSTEM ? TRUE : FALSE) : TRUE) &&
       (mAttribD ? (Info->Attribute & EFI_FILE_DIRECTORY ? TRUE : FALSE) : TRUE)
-    )
+    ))
       ) {
     IsMatch = TRUE;
   } else {
diff --ignore-file-name-case -Naur ShellR33/ls/ls.h GccShellR33/ls/ls.h
--- ShellR33/ls/ls.h	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/ls/ls.h	2009-11-05 13:49:56.000000000 -0800
@@ -91,4 +91,4 @@
   IN UINT16               VHlpToken
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/ls/ls.inf GccShellR33/ls/ls.inf
--- ShellR33/ls/ls.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/ls/ls.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    LsStrings.uni        
    ls.c                 
    ls.h    
                                          
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mem/debug.h GccShellR33/mem/debug.h
--- ShellR33/mem/debug.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/mem/debug.h	2009-09-22 15:37:05.000000000 -0700
@@ -26,7 +26,7 @@
 #include "EfiShellLib.h"
 #include EFI_PROTOCOL_DEFINITION (BlockIo)
 
-#define EFI_PARTITION_SIGNATURE       0x5053595320494249
+#define EFI_PARTITION_SIGNATURE       0x5053595320494249ULL
 typedef struct _EFI_PARTITION_HEADER {
   EFI_TABLE_HEADER  Hdr;
   UINT32            DirectoryAllocationNumber;
diff --ignore-file-name-case -Naur ShellR33/mem/efidump.c GccShellR33/mem/efidump.c
--- ShellR33/mem/efidump.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/mem/efidump.c	2009-09-22 19:19:20.000000000 -0700
@@ -24,7 +24,7 @@
 --*/
 
 #include "debug.h"
-#include "Efipart.h"
+#include "EfiPart.h"
 #include "EfiShellLib.h"
 
 #include STRING_DEFINES_FILE
@@ -352,34 +352,34 @@
     PrintToken (STRING_TOKEN (STR_DEBUG_STD_ERROR_ON), HiiMemHandle, LibDevicePathToStr (DevicePath));
   }
 
-  PrintToken (STRING_TOKEN (STR_DEBUG_RUNTIME_SERVICES), HiiMemHandle, (UINT64) Tbl.Sys->RuntimeServices);
-  PrintToken (STRING_TOKEN (STR_DEBUG_BOOT_SERVICES), HiiMemHandle, (UINT64) Tbl.Sys->BootServices);
+  PrintToken (STRING_TOKEN (STR_DEBUG_RUNTIME_SERVICES), HiiMemHandle, (UINT64)(UINTN) Tbl.Sys->RuntimeServices);
+  PrintToken (STRING_TOKEN (STR_DEBUG_BOOT_SERVICES), HiiMemHandle, (UINT64)(UINTN) Tbl.Sys->BootServices);
 
   EFI64_CODE (
     Status = LibGetSystemConfigurationTable(&gEfiSalSystemTableGuid, &SalSystemTable);
     if (!EFI_ERROR(Status)) {
-      PrintToken (STRING_TOKEN(STR_DEBUG_SAL_SYSTEM_TABLE), HiiMemHandle, (UINT64)SalSystemTable);
+      PrintToken (STRING_TOKEN(STR_DEBUG_SAL_SYSTEM_TABLE), HiiMemHandle, (UINT64)(UINTN)SalSystemTable);
     }
   )
   
   Status = LibGetSystemConfigurationTable (&gEfiAcpiTableGuid, &AcpiTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_ACPI_TABLE), HiiMemHandle, (UINT64) AcpiTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_ACPI_TABLE), HiiMemHandle, (UINT64)(UINTN)AcpiTable);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiAcpi20TableGuid, &Acpi20Table);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_APCI_2_TABLE), HiiMemHandle, (UINT64) Acpi20Table);
+    PrintToken (STRING_TOKEN (STR_DEBUG_APCI_2_TABLE), HiiMemHandle, (UINT64)(UINTN)Acpi20Table);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiMpsTableGuid, &MpsTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_MPS_TABLE), HiiMemHandle, (UINT64) MpsTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_MPS_TABLE), HiiMemHandle, (UINT64)(UINTN)MpsTable);
   }
 
   Status = LibGetSystemConfigurationTable (&gEfiSmbiosTableGuid, &SMBIOSTable);
   if (!EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_DEBUG_SMBIOS_TABLE), HiiMemHandle, (UINT64) SMBIOSTable);
+    PrintToken (STRING_TOKEN (STR_DEBUG_SMBIOS_TABLE), HiiMemHandle, (UINT64)(UINTN)SMBIOSTable);
   }
 }
 
diff --ignore-file-name-case -Naur ShellR33/mem/mem.inf GccShellR33/mem/mem.inf
--- ShellR33/mem/mem.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/mem/mem.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   MemStrings.uni
   DebugStrings.uni  
   mm.c
@@ -34,17 +34,17 @@
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mem/MemCommonPart.c GccShellR33/mem/MemCommonPart.c
--- ShellR33/mem/MemCommonPart.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/mem/MemCommonPart.c	2009-09-22 15:37:05.000000000 -0700
@@ -149,7 +149,7 @@
     return EFI_SUCCESS;
   }
 
-  Address = (AddressStr) ? Xtoi (AddressStr) : (UINT64) SystemTable;
+  Address = (AddressStr) ? Xtoi (AddressStr) : (UINT64)(UINTN)SystemTable;
   Size    = (SizeStr) ? Xtoi (SizeStr) : 512;
 
   //
@@ -157,7 +157,7 @@
   //
   PrintToken (STRING_TOKEN (STR_MEM_MEMORY_ADDR), HiiMemHandle, 2 * sizeof (UINTN), Address, Size);
   if (MMIo) {
-    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, &PciRootBridgeIo);
+    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID **)&PciRootBridgeIo);
     if (EFI_ERROR (Status)) {
       PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LOC_PROT_ERR_EX), HiiMemHandle, L"mem", L"PciRootBridgeIo");
       return Status;
@@ -233,7 +233,7 @@
   MMIo                  = FALSE;
   AddressStr            = NULL;
   SizeStr               = NULL;
-  Address               = (UINT64) SystemTable;
+  Address               = (UINT64)(UINTN) SystemTable;
   Size                  = 512;
   RetCode               = LibCheckVariables (SI, MemCheckList, &ChkPck, &Useful);
   if (VarCheckOk != RetCode) {
@@ -312,7 +312,7 @@
   //
   PrintToken (STRING_TOKEN (STR_MEM_NEW_MEMORY_ADDR), HiiMemHandle, 2 * sizeof (UINTN), Address, Size);
   if (MMIo) {
-    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, &PciRootBridgeIo);
+    Status = BS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID **)&PciRootBridgeIo);
     if (EFI_ERROR (Status)) {
       PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LOC_PROT_ERR_EX), HiiMemHandle, L"mem", L"PciRootBridgeIo");
       return Status;
diff --ignore-file-name-case -Naur ShellR33/mem/MemCommonPart.h GccShellR33/mem/MemCommonPart.h
--- ShellR33/mem/MemCommonPart.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/mem/MemCommonPart.h	2009-11-05 13:49:56.000000000 -0800
@@ -62,4 +62,4 @@
   IN  EFI_BLOCK_IO_PROTOCOL   *BlkIo
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/memmap/memmap.c GccShellR33/memmap/memmap.c
--- ShellR33/memmap/memmap.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/memmap/memmap.c	2009-11-05 13:49:56.000000000 -0800
@@ -35,7 +35,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiMemmapGuid = EFI_MEMMAP_GUID;
 SHELL_VAR_CHECK_ITEM    MemmapCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/memmap/memmap.inf GccShellR33/memmap/memmap.inf
--- ShellR33/memmap/memmap.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/memmap/memmap.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,7 +40,7 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   memmapStrings.uni
   memmap.c
   memmap.h
@@ -48,17 +48,17 @@
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mkdir/mkdir.c GccShellR33/mkdir/mkdir.c
--- ShellR33/mkdir/mkdir.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/mkdir/mkdir.c	2009-11-05 13:49:56.000000000 -0800
@@ -49,7 +49,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiMkdirGuid = EFI_MKDIR_GUID;
 SHELL_VAR_CHECK_ITEM    MkdirCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/mkdir/mkdir.h GccShellR33/mkdir/mkdir.h
--- ShellR33/mkdir/mkdir.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/mkdir/mkdir.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0x75ecb57f, 0x4264, 0x49d2, 0x98, 0xe6, 0x39, 0x1a, 0x32, 0x17, 0x9d, 0xf2 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/mkdir/mkdir.inf GccShellR33/mkdir/mkdir.inf
--- ShellR33/mkdir/mkdir.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/mkdir/mkdir.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,23 +41,23 @@
 
 [sources.common]
   MkdirStrings.uni
-  ..\ShCommonStrings.uni     
+  ../ShCommonStrings.uni     
   mkdir.c              
   mkdir.h              
  
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mm/mm.c GccShellR33/mm/mm.c
--- ShellR33/mm/mm.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/mm/mm.c	2009-11-05 13:49:56.000000000 -0800
@@ -73,7 +73,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE HiiHandle;
+static EFI_HII_HANDLE HiiHandle;
 EFI_GUID EfiIomodGuid = EFI_IOMOD_GUID;
 SHELL_VAR_CHECK_ITEM    IomodCheckList[] = {
   {
@@ -138,7 +138,7 @@
   }
 };
 
-UINT64 MaxNum[9]      = { 0xff, 0xffff, 0xffffffff, 0xffffffffffffffff };
+UINT64 MaxNum[9]      = { 0xff, 0xffff, 0xffffffff, 0xffffffffffffffffULL };
 
 EFI_BOOTSHELL_CODE(
   EFI_APPLICATION_ENTRY_POINT(DumpIoModify)
@@ -469,7 +469,7 @@
     //
     if (AccessType == EfiPciEConfig) {
       SegmentNumber = (UINT32) RShiftU64 (Address, 36) & 0xff;
-      Address      &= 0xfffffffff;
+      Address      &= 0xfffffffffULL;
     } else {
       if (AccessType == EfiPciConfig) {
         SegmentNumber = (UINT32) RShiftU64 (Address, 32) & 0xff;
@@ -750,7 +750,7 @@
     }
 
     if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F')) {
-      u     = u << 4 | c - (c >= 'A' ? 'A' - 10 : '0');
+      u     = (u << 4) | (c - (c >= 'A' ? 'A' - 10 : '0'));
 
       Find  = TRUE;
     } else {
diff --ignore-file-name-case -Naur ShellR33/mm/mm.inf GccShellR33/mm/mm.inf
--- ShellR33/mm/mm.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/mm/mm.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,23 +41,23 @@
 
 [sources.common]
   MmStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   mm.c
   mm.h
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mode/mode.inf GccShellR33/mode/mode.inf
--- ShellR33/mode/mode.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/mode/mode.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   ModeStrings.uni
   mode.c
   mode.h
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mount/mount.c GccShellR33/mount/mount.c
--- ShellR33/mount/mount.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/mount/mount.c	2009-11-05 13:49:56.000000000 -0800
@@ -36,7 +36,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiMountGuid = EFI_MOUNT_GUID;
 SHELL_VAR_CHECK_ITEM      MountCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/mount/mount.inf GccShellR33/mount/mount.inf
--- ShellR33/mount/mount.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/mount/mount.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   MountStrings.uni
   mount.c
   mount.h
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/mv/mv.c GccShellR33/mv/mv.c
--- ShellR33/mv/mv.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/mv/mv.c	2009-11-05 13:49:56.000000000 -0800
@@ -36,7 +36,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiMvGuid = EFI_MV_GUID;
 SHELL_VAR_CHECK_ITEM      MvCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/mv/mv.h GccShellR33/mv/mv.h
--- ShellR33/mv/mv.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/mv/mv.h	2009-11-05 13:49:56.000000000 -0800
@@ -33,4 +33,4 @@
 
 #define EFI_FILE_STRING_SIZE  260
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/mv/mv.inf GccShellR33/mv/mv.inf
--- ShellR33/mv/mv.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/mv/mv.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    MvStrings.uni        
    mv.c                 
    mv.h                 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/newshell/DebugAssert.c GccShellR33/newshell/DebugAssert.c
--- ShellR33/newshell/DebugAssert.c	1969-12-31 16:00:00.000000000 -0800
+++ GccShellR33/newshell/DebugAssert.c	2009-11-09 15:51:54.000000000 -0800
@@ -0,0 +1,248 @@
+/*++
+
+Copyright (c) 2004, 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        
+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.             
+
+Module Name:
+
+  DebugAssert.c
+
+Abstract:
+
+  Produce EfiDebugAssertProtocol to enable EfiUtilityLib to function.
+  The EfiUtilityLib is used by the EFI shell!
+
+--*/
+#include "nshell.h"
+#include EFI_PROTOCOL_DEFINITION (DebugAssert)
+
+
+UINTN gRtErrorLevel = 0; 
+
+EFI_STATUS
+EFIAPI
+ShellDebugAssert (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN CHAR8                              *FileName,
+  IN INTN                               LineNumber,
+  IN CHAR8                              *Description
+  );
+
+EFI_STATUS
+EFIAPI
+ShellDebugPrint (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN UINTN                              ErrorLevel,
+  IN CHAR8                              *Format,
+  IN VA_LIST                            Marker
+  );
+
+EFI_STATUS
+EFIAPI
+ShellPostCode (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          * This,
+  IN  UINT16                            PostCode,
+  IN  CHAR8                             *PostCodeString OPTIONAL
+  );
+
+EFI_STATUS
+EFIAPI
+ShellGetErrorLevel (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN  UINTN                             *ErrorLevel
+  );
+
+EFI_STATUS
+EFIAPI
+ShellSetErrorLevel (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN  UINTN                             ErrorLevel
+  );
+
+//
+// Protocol instance, there can be only one.
+//
+EFI_HANDLE                mHandle = NULL;
+EFI_DEBUG_ASSERT_PROTOCOL mDebugAssertProtocol = {
+  ShellDebugAssert,
+  ShellDebugPrint,
+  ShellPostCode,
+  ShellGetErrorLevel,
+  ShellSetErrorLevel
+};
+
+//
+// Function implementations
+//
+EFI_STATUS
+EFIAPI
+ShellDebugAssert (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN CHAR8                              *FileName,
+  IN INTN                               LineNumber,
+  IN CHAR8                              *Description
+  )
+/*++
+
+Routine Description:
+
+  Worker function for ASSERT (). If Error Logging hub is loaded log ASSERT
+  information. If Error Logging hub is not loaded EFI_BREAKPOINT ().
+  
+Arguments:
+
+  This        - Protocol instance.
+  FileName    - File name of failing routine.
+  LineNumber  - Line number of failing ASSERT().
+  Description - Description, usually the assertion,
+
+Returns:
+
+  EFI_SUCCESS   The function always completes successfully.
+
+--*/
+{
+  Print (L"\nASSERT (%a): %a:%d\n", Description, FileName, LineNumber);
+
+  return EFI_SUCCESS;
+}
+
+EFI_STATUS
+EFIAPI
+ShellDebugPrint (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN UINTN                              ErrorLevel,
+  IN CHAR8                              *Format,
+  IN VA_LIST                            Marker
+  )
+/*++
+
+Routine Description:
+
+  Worker function for DEBUG (). If Error Logging hub is loaded log ASSERT
+  information. If Error Logging hub is not loaded do nothing.
+  
+Arguments:
+
+  This       - Protocol Instance.
+  ErrorLevel - If error level is set do the debug print.
+  Format     - String to use for the print, followed by Print arguments.
+
+Returns:
+
+  EFI_SUCCESS   The function always completes successfully.
+
+--*/
+{
+  CHAR16  Buffer[180];
+  CHAR16  UnicodeFormat[180];
+  UINTN   Index;
+  
+  if (!(gRtErrorLevel & ErrorLevel)) {
+    return EFI_SUCCESS;
+  }
+  
+  for (Index = 0; Format[Index] != '\0'; Index++) {
+    UnicodeFormat[Index] = (CHAR16)Format[Index];
+  }
+  Format[Index] = '\0';
+  
+  VSPrint (Buffer, sizeof (Buffer), UnicodeFormat, Marker);
+  Print (Buffer);
+
+  return EFI_SUCCESS;
+}
+
+EFI_STATUS
+EFIAPI
+ShellPostCode (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          * This,
+  IN  UINT16                            PostCode,
+  IN  CHAR8                             *PostCodeString OPTIONAL
+  )
+/*++
+
+Routine Description:
+
+  Write the code to IO ports 80 and 81.
+
+Arguments:
+
+  This            - Protocol Instance.
+  PostCode        - Code to write
+  PostCodeString  - String, currently ignored.
+
+Returns:
+
+  EFI_SUCCESS   The function always completes successfully.
+
+--*/
+{
+  return EFI_SUCCESS;
+}
+
+EFI_STATUS
+EFIAPI
+ShellGetErrorLevel (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN  UINTN                             *ErrorLevel
+  )
+{
+  *ErrorLevel = gRtErrorLevel;
+  return EFI_SUCCESS;
+}
+
+EFI_STATUS
+EFIAPI
+ShellSetErrorLevel (
+  IN EFI_DEBUG_ASSERT_PROTOCOL          *This,
+  IN  UINTN                             ErrorLevel
+  )
+{
+  gRtErrorLevel = ErrorLevel;
+  return EFI_SUCCESS;
+}
+
+EFI_STATUS
+InstallShellDebugAssert (
+  VOID
+  )
+/*++
+
+Routine Description:
+
+  Install the status code debug assert protocol
+
+Arguments:
+
+  None
+
+Returns:
+
+  Results of call to InstallProtocolInterface.
+
+--*/
+{
+  DEBUG_CODE (
+    EFI_STATUS  Status;
+    VOID        *Interface;
+    
+    Status = BS->LocateProtocol (&gEfiDebugAssertProtocolGuid, NULL, &Interface);
+    if (EFI_ERROR (Status)) {
+      BS->InstallProtocolInterface (
+            &mHandle,
+            &gEfiDebugAssertProtocolGuid,
+            EFI_NATIVE_INTERFACE,
+            &mDebugAssertProtocol
+            );
+     }
+  );
+
+  return EFI_SUCCESS;
+}
diff --ignore-file-name-case -Naur ShellR33/newshell/FakeHii.c GccShellR33/newshell/FakeHii.c
--- ShellR33/newshell/FakeHii.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/newshell/FakeHii.c	2009-09-22 15:37:05.000000000 -0700
@@ -320,7 +320,7 @@
   if (Language == NULL) {
     return EFI_OUT_OF_RESOURCES;
   }
-  strcpya (Language, (UINT8 *) PackageHdr + HeaderSize - LanguageSize);
+  strcpya (Language, (CHAR8 *) PackageHdr + HeaderSize - LanguageSize);
   for (Link = PackageList->StringPkgHdr.Flink; Link != &PackageList->StringPkgHdr; Link = Link->Flink) {
     StringPackage = CR (Link, FAKE_HII_STRING_PACKAGE, Entry, FAKE_HII_STRING_PACKAGE_SIGNATURE);
     if (CompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {
@@ -770,7 +770,7 @@
   StringPackage = NULL;
   for (Link = DatabaseRecord->StringPkgHdr.Flink; Link != &DatabaseRecord->StringPkgHdr; Link = Link->Flink) {
     StringPackage = CR (Link, FAKE_HII_STRING_PACKAGE, Entry, FAKE_HII_STRING_PACKAGE_SIGNATURE);
-    if (CompareLanguage (StringPackage->StringPkgHdr->Language, (UINT8 *) Language)) {
+    if (CompareLanguage (StringPackage->StringPkgHdr->Language, (CHAR8 *) Language)) {
       Matched = TRUE;
       break;
     }
diff --ignore-file-name-case -Naur ShellR33/newshell/init.c GccShellR33/newshell/init.c
--- ShellR33/newshell/init.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/newshell/init.c	2009-11-09 15:51:54.000000000 -0800
@@ -23,7 +23,7 @@
 #include "nshell.h"
 
 extern UINT8    STRING_ARRAY_NAME[];
-extern BOOLEAN  gHiiInitialized = FALSE;
+BOOLEAN  gHiiInitialized = FALSE;
 
 //
 // This is the generated header file which includes whatever needs to be exported (strings + IFR)
@@ -51,6 +51,12 @@
   VOID
   );
 
+EFI_STATUS
+InstallShellDebugAssert (
+  VOID
+  );
+
+
 EFI_HII_HANDLE      HiiNewshellHandle;
 
 //
@@ -99,13 +105,13 @@
   Status = BS->HandleProtocol (
                 ImgHnd,
                 &gEfiLoadedImageProtocolGuid,
-                &img
+                (VOID **)&img
                 );
   if (!EFI_ERROR (Status)) {
     Status = BS->HandleProtocol (
                   img->DeviceHandle,
                   &gEfiDevicePathProtocolGuid,
-                  &dp
+                  (VOID **)&dp
                   );
     if (!EFI_ERROR (Status)) {
       *DevPath  = DuplicateDevicePath (dp);
@@ -212,15 +218,18 @@
   EFI_STATUS                       Status;
   EFI_CONSOLE_CONTROL_PROTOCOL     *ConsoleControl;
   EFI_GUID                         EfiLibGuid = EFI_NSHELL_GUID;
+  
   InitializeShellLib (ImageHandle, SystemTable);
 
+  InstallShellDebugAssert ();
+
   //
   // If EFI_CONSOLE_CONTROL_PROTOCOL is available,
   // use it to switch to text mode first.
   //
   Status = LibLocateProtocol (
              &gEfiConsoleControlProtocolGuid,
-             &ConsoleControl
+             (VOID **)&ConsoleControl
              );
   if (!EFI_ERROR (Status)) {
     Status = ConsoleControl->GetMode (ConsoleControl, &mOldCurrentMode, NULL, NULL);
@@ -342,7 +351,7 @@
       Status = _ShellLoadEnvDriver (ImageHandle);
     )
     if (EFI_ERROR (Status)) {
-      Status = LibLocateProtocol (&ShellEnvProtocol, &SE);
+      Status = LibLocateProtocol (&ShellEnvProtocol, (VOID **)&SE);
       if (EFI_ERROR (Status)) {
         PrintToken (STRING_TOKEN (STR_NSHELL_ENV_DRIVER), HiiNewshellHandle);
         return Status;
@@ -372,7 +381,7 @@
     *IsRootInstance = TRUE;
   }
 
-  Status = LibLocateProtocol (&ShellEnvProtocol, &SE);
+  Status = LibLocateProtocol (&ShellEnvProtocol, (VOID **)&SE);
   ASSERT (!EFI_ERROR (Status));
   SI = SE->NewShell (ImageHandle);
 
@@ -543,7 +552,7 @@
   //
   ConsoleControlStatus = LibLocateProtocol (
                            &gEfiConsoleControlProtocolGuid,
-                           &ConsoleControl
+                           (VOID **)&ConsoleControl
                            );
   if (!EFI_ERROR (ConsoleControlStatus)) {
     ConsoleControlStatus = ConsoleControl->GetMode (ConsoleControl, &CurrentMode, NULL, NULL);
@@ -592,7 +601,7 @@
   //  3. as a child of a parent shell image
   //
   IsRootInstance  = FALSE;
-
+  
   Status          = _DoInit (ImageHandle, SystemTable);
   if (EFI_ERROR (Status)) {
     return Status;
diff --ignore-file-name-case -Naur ShellR33/newshell/nshell.h GccShellR33/newshell/nshell.h
--- ShellR33/newshell/nshell.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/newshell/nshell.h	2009-11-05 13:49:56.000000000 -0800
@@ -50,7 +50,7 @@
 #undef EFI_MONOSHELL_CODE
 #undef EFI_NO_MONOSHELL_CODE
 
-#if EFI_MONOSHELL == 1
+#ifdef EFI_MONOSHELL
 #define EFI_MONOSHELL_CODE(code)    code
 #define EFI_NO_MONOSHELL_CODE(code)
 #else
@@ -58,4 +58,4 @@
 #define EFI_NO_MONOSHELL_CODE(code) code
 #endif
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/newshell/nshell.inf GccShellR33/newshell/nshell.inf
--- ShellR33/newshell/nshell.inf	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/newshell/nshell.inf	2009-11-07 12:33:52.000000000 -0800
@@ -26,24 +26,25 @@
 
 [sources.common]
   NshellStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   init.c
   nshell.h
   fakehii.c
+  DebugAssert.c
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
@@ -67,7 +68,7 @@
   IMAGE_ENTRY_POINT=InitializeShell
   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\"
-  C_STD_FLAGS = $(C_STD_FLAGS) /DEFI_MONOSHELL=2
+  C_STD_FLAGS = $(C_STD_FLAGS) 
 
 
  
\ No newline at end of file
diff --ignore-file-name-case -Naur ShellR33/openinfo/openinfo.c GccShellR33/openinfo/openinfo.c
--- ShellR33/openinfo/openinfo.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/openinfo/openinfo.c	2009-11-05 13:49:56.000000000 -0800
@@ -36,7 +36,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiOpeninfoGuid = EFI_OPENINFO_GUID;
 SHELL_VAR_CHECK_ITEM    OpeninfoCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/openinfo/openinfo.inf GccShellR33/openinfo/openinfo.inf
--- ShellR33/openinfo/openinfo.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/openinfo/openinfo.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,24 +41,24 @@
 
 [sources.common]
   OPeninfoStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   openinfo.c
   openinfo.h
 
   
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/pci/pci.c GccShellR33/pci/pci.c
--- ShellR33/pci/pci.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/pci/pci.c	2009-11-05 13:49:56.000000000 -0800
@@ -344,7 +344,7 @@
 // Global Variables
 //
 PCI_CONFIG_SPACE  *mConfigSpace;
-EFI_HII_HANDLE    HiiHandle;
+EFI_HII_HANDLE    gPciHiiHandle;
 EFI_GUID          EfiPciGuid = EFI_PCI_GUID;
 SHELL_VAR_CHECK_ITEM    PciCheckList[] = {
   {
@@ -504,7 +504,7 @@
   //
   EnableOutputTabPause();
 
-  Status = LibInitializeStrings (&HiiHandle, STRING_ARRAY_NAME, &EfiPciGuid);
+  Status = LibInitializeStrings (&gPciHiiHandle, STRING_ARRAY_NAME, &EfiPciGuid);
 
   if (EFI_ERROR (Status)) {
     return Status;
@@ -513,7 +513,7 @@
   if (!EFI_PROPER_VERSION (0, 99)) {
     PrintToken (
       STRING_TOKEN (STR_SHELLENV_GNC_COMMAND_NOT_SUPPORT),
-      HiiHandle,
+      gPciHiiHandle,
       L"pci",
       EFI_VERSION_0_99 
       );
@@ -525,15 +525,15 @@
   if (VarCheckOk != RetCode) {
     switch (RetCode) {
     case VarCheckUnknown:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), HiiHandle, L"pci", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), gPciHiiHandle, L"pci", Useful);
       break;
 
     case VarCheckDuplicate:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_DUP_FLAG), HiiHandle, L"pci", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_DUP_FLAG), gPciHiiHandle, L"pci", Useful);
       break;
 
     case VarCheckLackValue:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LACK_ARG), HiiHandle, L"pci", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LACK_ARG), gPciHiiHandle, L"pci", Useful);
       break;
 
     default:
@@ -555,10 +555,10 @@
         ChkPck.FlagCount > 2 ||
         (2 == ChkPck.FlagCount && !LibCheckVarGetFlag (&ChkPck, L"-b"))
         ) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"pci");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gPciHiiHandle, L"pci");
       Status = EFI_INVALID_PARAMETER;
     } else {
-      PrintToken (STRING_TOKEN (STR_HELPINFO_PCI_VERBOSEHELP), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_HELPINFO_PCI_VERBOSEHELP), gPciHiiHandle);
       Status = EFI_SUCCESS;
     }
 
@@ -572,7 +572,7 @@
   HandleBufSize = sizeof (EFI_HANDLE);
   HandleBuf     = (EFI_HANDLE *) AllocatePool (HandleBufSize);
   if (HandleBuf == NULL) {
-    PrintToken (STRING_TOKEN (STR_PCI2_OUT_RESOURCES), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_OUT_RESOURCES), gPciHiiHandle);
     Status = EFI_OUT_OF_RESOURCES;
     goto Done;
   }
@@ -588,7 +588,7 @@
   if (Status == EFI_BUFFER_TOO_SMALL) {
     HandleBuf = ReallocatePool (HandleBuf, sizeof (EFI_HANDLE), HandleBufSize);
     if (HandleBuf == NULL) {
-      PrintToken (STRING_TOKEN (STR_PCI2_OUT_RESOURCES), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_OUT_RESOURCES), gPciHiiHandle);
       Status = EFI_OUT_OF_RESOURCES;
       goto Done;
     }
@@ -603,7 +603,7 @@
   }
 
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_PCI2_LOCATE_HANDLE), HiiHandle, Status);
+    PrintToken (STRING_TOKEN (STR_PCI2_LOCATE_HANDLE), gPciHiiHandle, Status);
     goto Done;
   }
 
@@ -638,7 +638,7 @@
                 &Descriptors
                 );
       if (EFI_ERROR (Status)) {
-        PrintToken (STRING_TOKEN (STR_PCI2_HANDLE_PROTOCOL), HiiHandle, Status);
+        PrintToken (STRING_TOKEN (STR_PCI2_HANDLE_PROTOCOL), gPciHiiHandle, Status);
         goto Done;
       }
       //
@@ -650,7 +650,7 @@
         Status = PciGetNextBusRange (&Descriptors, &MinBus, &MaxBus, &IsEnd);
 
         if (EFI_ERROR (Status)) {
-          PrintToken (STRING_TOKEN (STR_PCI2_BUS), HiiHandle, Status);
+          PrintToken (STRING_TOKEN (STR_PCI2_BUS), gPciHiiHandle, Status);
           goto Done;
         }
 
@@ -694,7 +694,7 @@
               if (PciHeader.VendorId != 0xffff) {
 
                 if (PrintTitle) {
-                  PrintToken (STRING_TOKEN (STR_PCI2_SEG_BUS), HiiHandle);
+                  PrintToken (STRING_TOKEN (STR_PCI2_SEG_BUS), gPciHiiHandle);
                   Print (L"   ---  ---  ---  ----\n");
                   PrintTitle = FALSE;
                 }
@@ -709,7 +709,7 @@
 
                 PrintToken (
                   STRING_TOKEN (STR_PCI2_FOUR_VARS),
-                  HiiHandle,
+                  gPciHiiHandle,
                   IoDev->SegmentNumber,
                   Bus,
                   Device,
@@ -719,7 +719,7 @@
                 PciPrintClassCode (PciHeader.ClassCode, FALSE);
                 PrintToken (
                   STRING_TOKEN (STR_PCI2_VENDOR),
-                  HiiHandle,
+                  gPciHiiHandle,
                   PciHeader.VendorId,
                   PciHeader.DeviceId,
                   PciHeader.ClassCode[0]
@@ -760,7 +760,7 @@
   }
 
   if (ChkPck.ValueCount == 1) {
-    PrintToken (STRING_TOKEN (STR_PCI2_TOO_FEW_ARGS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_TOO_FEW_ARGS), gPciHiiHandle);
     Status = EFI_INVALID_PARAMETER;
     goto Done;
   }
@@ -768,7 +768,7 @@
   // Arg count >= 3, dump binary of specified function, interpret if necessary
   //
   if (ChkPck.ValueCount > 3) {
-    PrintToken (STRING_TOKEN (STR_PCI2_TOO_MANY_ARGS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_TOO_MANY_ARGS), gPciHiiHandle);
     Status = EFI_INVALID_PARAMETER;
     goto Done;
   }
@@ -786,7 +786,7 @@
   if (NULL != Item) {
     Segment = (UINT16) StrToUIntegerBase (Item->VarStr, 16, &Status);
     if (EFI_ERROR (Status)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"pci", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gPciHiiHandle, L"pci", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto Done;
     }
@@ -800,7 +800,7 @@
   if (NULL != Item) {
     Bus = (UINT16) StrToUIntegerBase (Item->VarStr, 16, &Status);
     if (EFI_ERROR (Status) || Bus > MAX_BUS_NUMBER) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"pci", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gPciHiiHandle, L"pci", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto Done;
     }
@@ -811,7 +811,7 @@
   if (NULL != Item) {
     Device = (UINT16) StrToUIntegerBase (Item->VarStr, 16, &Status);
     if (EFI_ERROR (Status) || Device > MAX_DEVICE_NUMBER) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"pci", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gPciHiiHandle, L"pci", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto Done;
     }
@@ -822,7 +822,7 @@
   if (NULL != Item) {
     Func = (UINT16) StrToUIntegerBase (Item->VarStr, 16, &Status);
     if (EFI_ERROR (Status) || Func > MAX_FUNCTION_NUMBER) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"pci", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gPciHiiHandle, L"pci", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto Done;
     }
@@ -844,7 +844,7 @@
   if (EFI_ERROR (Status)) {
     PrintToken (
       STRING_TOKEN (STR_PCI2_CANNOT_FIND_PROTOCOL),
-      HiiHandle,
+      gPciHiiHandle,
       Segment,
       Bus
       );
@@ -862,14 +862,14 @@
                         );
 
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_PCI2_CANNOT_READ_CONFIG), HiiHandle, Status);
+    PrintToken (STRING_TOKEN (STR_PCI2_CANNOT_READ_CONFIG), gPciHiiHandle, Status);
     goto Done;
   }
 
   mConfigSpace = &ConfigSpace;
   PrintToken (
     STRING_TOKEN (STR_PCI2_SEGMENT_BUS),
-    HiiHandle,
+    gPciHiiHandle,
     Segment,
     Bus,
     Device,
@@ -1031,7 +1031,7 @@
   Status = BS->HandleProtocol (
                 Handle,
                 &gEfiPciRootBridgeIoProtocolGuid,
-                IoDev
+                (VOID **)IoDev
                 );
 
   if (EFI_ERROR (Status)) {
@@ -1040,7 +1040,7 @@
   //
   // Call Configuration() to get address space descriptors
   //
-  Status = (*IoDev)->Configuration (*IoDev, Descriptors);
+  Status = (*IoDev)->Configuration (*IoDev, (VOID **)Descriptors);
   if (Status == EFI_UNSUPPORTED) {
     *Descriptors = NULL;
     return EFI_SUCCESS;
@@ -1154,14 +1154,14 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_VENDOR_ID),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Common->VendorId)),
     Common->VendorId
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_DEVICE_ID),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Common->DeviceId)),
     Common->DeviceId
     );
@@ -1181,7 +1181,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_REVISION_ID),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Common->RevisionId)),
     Common->RevisionId
     );
@@ -1189,19 +1189,19 @@
   //
   // Print register BIST
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_BIST), HiiHandle, INDEX_OF (&(Common->BIST)));
+  PrintToken (STRING_TOKEN (STR_PCI2_BIST), gPciHiiHandle, INDEX_OF (&(Common->BIST)));
   if ((Common->BIST & PCI_BIT_7) != 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_CAPABLE_RETURN), HiiHandle, 0x0f & Common->BIST);
+    PrintToken (STRING_TOKEN (STR_PCI2_CAPABLE_RETURN), gPciHiiHandle, 0x0f & Common->BIST);
 
   } else {
-    PrintToken (STRING_TOKEN (STR_PCI2_INCAPABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_INCAPABLE), gPciHiiHandle);
   }
   //
   // Print register Cache Line Size
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_CACHE_LINE_SIZE),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Common->CacheLineSize)),
     Common->CacheLineSize
     );
@@ -1211,7 +1211,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_LATENCY_TIMER),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Common->PrimaryLatencyTimer)),
     Common->PrimaryLatencyTimer
     );
@@ -1221,41 +1221,41 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_HEADER_TYPE),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Common->HeaderType)),
     Common->HeaderType
     );
 
   if ((Common->HeaderType & PCI_BIT_7) != 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_MULTI_FUNCTION), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_MULTI_FUNCTION), gPciHiiHandle);
 
   } else {
-    PrintToken (STRING_TOKEN (STR_PCI2_SINGLE_FUNCTION), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_SINGLE_FUNCTION), gPciHiiHandle);
   }
 
   HeaderType = (UINT8) (Common->HeaderType & 0x7f);
   switch (HeaderType) {
   case PciDevice:
-    PrintToken (STRING_TOKEN (STR_PCI2_PCI_DEVICE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_PCI_DEVICE), gPciHiiHandle);
     break;
 
   case PciP2pBridge:
-    PrintToken (STRING_TOKEN (STR_PCI2_P2P_BRIDGE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_P2P_BRIDGE), gPciHiiHandle);
     break;
 
   case PciCardBusBridge:
-    PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS_BRIDGE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS_BRIDGE), gPciHiiHandle);
     break;
 
   default:
-    PrintToken (STRING_TOKEN (STR_PCI2_RESERVED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_RESERVED), gPciHiiHandle);
     HeaderType = PciUndefined;
   }
 
   //
   // Print register Class Code
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_CLASS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_PCI2_CLASS), gPciHiiHandle);
   PciPrintClassCode ((UINT8 *) Common->ClassCode, TRUE);
   Print (L"\n");
 
@@ -1296,6 +1296,9 @@
               );
     CapPtr = ConfigSpace->NonCommon.CardBus.CapabilitiesPtr;
     break;
+    
+  default:
+    break;
   }
   //
   // If Status bit4 is 1, dump or explain capability structure
@@ -1341,7 +1344,7 @@
   // exist. If these no Bar for this function, print "none", otherwise
   // list detail information about this Bar.
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_BASE_ADDR), HiiHandle, INDEX_OF (Device->Bar));
+  PrintToken (STRING_TOKEN (STR_PCI2_BASE_ADDR), gPciHiiHandle, INDEX_OF (Device->Bar));
 
   BarExist  = FALSE;
   BarCount  = sizeof (Device->Bar) / sizeof (Device->Bar[0]);
@@ -1352,7 +1355,7 @@
 
     if (!BarExist) {
       BarExist = TRUE;
-      PrintToken (STRING_TOKEN (STR_PCI2_START_TYPE), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_START_TYPE), gPciHiiHandle);
       Print (L"  --------------------------------------------------------------------------");
     }
 
@@ -1370,7 +1373,7 @@
   }
 
   if (!BarExist) {
-    PrintToken (STRING_TOKEN (STR_PCI2_NONE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_NONE), gPciHiiHandle);
 
   } else {
     Print (L"\n  --------------------------------------------------------------------------");
@@ -1380,12 +1383,12 @@
   // Print register Expansion ROM Base Address
   //
   if ((Device->ROMBar & PCI_BIT_0) == 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_EXPANSION_ROM_DISABLED), HiiHandle, INDEX_OF (&(Device->ROMBar)));
+    PrintToken (STRING_TOKEN (STR_PCI2_EXPANSION_ROM_DISABLED), gPciHiiHandle, INDEX_OF (&(Device->ROMBar)));
 
   } else {
     PrintToken (
       STRING_TOKEN (STR_PCI2_EXPANSION_ROM_BASE),
-      HiiHandle,
+      gPciHiiHandle,
       INDEX_OF (&(Device->ROMBar)),
       Device->ROMBar
       );
@@ -1395,7 +1398,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_CARDBUS_CIS),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->CardBusCISPtr)),
     Device->CardBusCISPtr
     );
@@ -1405,14 +1408,14 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_SUB_VENDOR_ID),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->SubVendorId)),
     Device->SubVendorId
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_SUBSYSTEM_ID),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->SubSystemId)),
     Device->SubSystemId
     );
@@ -1422,7 +1425,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_CAPABILITIES_PTR),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->CapabilitiesPtr)),
     Device->CapabilitiesPtr
     );
@@ -1432,14 +1435,14 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_INTERRUPT_LINE),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->InterruptLine)),
     Device->InterruptLine
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_INTERRUPT_PIN),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->InterruptPin)),
     Device->InterruptPin
     );
@@ -1449,14 +1452,14 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_MIN_GNT),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->MinGnt)),
     Device->MinGnt
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_MAX_LAT),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Device->MaxLat)),
     Device->MaxLat
     );
@@ -1499,7 +1502,7 @@
   // exist. If these no Bar for this function, print "none", otherwise
   // list detail information about this Bar.
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_BASE_ADDRESS), HiiHandle, INDEX_OF (&(Bridge->Bar)));
+  PrintToken (STRING_TOKEN (STR_PCI2_BASE_ADDRESS), gPciHiiHandle, INDEX_OF (&(Bridge->Bar)));
 
   BarExist  = FALSE;
   BarCount  = sizeof (Bridge->Bar) / sizeof (Bridge->Bar[0]);
@@ -1511,7 +1514,7 @@
 
     if (!BarExist) {
       BarExist = TRUE;
-      PrintToken (STRING_TOKEN (STR_PCI2_START_TYPE_2), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_START_TYPE_2), gPciHiiHandle);
       Print (L"  --------------------------------------------------------------------------");
     }
 
@@ -1529,7 +1532,7 @@
   }
 
   if (!BarExist) {
-    PrintToken (STRING_TOKEN (STR_PCI2_NONE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_NONE), gPciHiiHandle);
   } else {
     Print (L"\n  --------------------------------------------------------------------------");
   }
@@ -1538,12 +1541,12 @@
   // Expansion register ROM Base Address
   //
   if ((Bridge->ROMBar & PCI_BIT_0) == 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_NO_EXPANSION_ROM), HiiHandle, INDEX_OF (&(Bridge->ROMBar)));
+    PrintToken (STRING_TOKEN (STR_PCI2_NO_EXPANSION_ROM), gPciHiiHandle, INDEX_OF (&(Bridge->ROMBar)));
 
   } else {
     PrintToken (
       STRING_TOKEN (STR_PCI2_EXPANSION_ROM_BASE_2),
-      HiiHandle,
+      gPciHiiHandle,
       INDEX_OF (&(Bridge->ROMBar)),
       Bridge->ROMBar
       );
@@ -1553,7 +1556,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_BUS_NUMBERS),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->PrimaryBus)),
     INDEX_OF (&(Bridge->SecondaryBus)),
     INDEX_OF (&(Bridge->SubordinateBus))
@@ -1561,16 +1564,16 @@
 
   Print (L"               ------------------------------------------------------\n");
 
-  PrintToken (STRING_TOKEN (STR_PCI2_BRIDGE), HiiHandle, Bridge->PrimaryBus);
-  PrintToken (STRING_TOKEN (STR_PCI2_BRIDGE), HiiHandle, Bridge->SecondaryBus);
-  PrintToken (STRING_TOKEN (STR_PCI2_BRIDGE), HiiHandle, Bridge->SubordinateBus);
+  PrintToken (STRING_TOKEN (STR_PCI2_BRIDGE), gPciHiiHandle, Bridge->PrimaryBus);
+  PrintToken (STRING_TOKEN (STR_PCI2_BRIDGE), gPciHiiHandle, Bridge->SecondaryBus);
+  PrintToken (STRING_TOKEN (STR_PCI2_BRIDGE), gPciHiiHandle, Bridge->SubordinateBus);
 
   //
   // Print register Secondary Latency Timer
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_SECONDARY_TIMER),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->SecondaryLatencyTimer)),
     Bridge->SecondaryLatencyTimer
     );
@@ -1585,7 +1588,7 @@
   // types: I/O, memory, and pre-fetchable memory. For each resource type,
   // base and limit address are listed.
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_RESOURCE_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_PCI2_RESOURCE_TYPE), gPciHiiHandle);
   Print (L"----------------------------------------------------------------------\n");
 
   //
@@ -1595,28 +1598,28 @@
   IoAddress32 &= 0xfffff000;
   PrintToken (
     STRING_TOKEN (STR_PCI2_TWO_VARS),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->IoBase)),
     IoAddress32
     );
 
   IoAddress32 = (Bridge->IoLimitUpper << 16 | Bridge->IoLimit << 8);
   IoAddress32 |= 0x00000fff;
-  PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR), HiiHandle, IoAddress32);
+  PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR), gPciHiiHandle, IoAddress32);
 
   //
   // Memory Base & Limit
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_MEMORY),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->MemoryBase)),
     (Bridge->MemoryBase << 16) & 0xfff00000
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_ONE_VAR),
-    HiiHandle,
+    gPciHiiHandle,
     (Bridge->MemoryLimit << 16) | 0x000fffff
     );
 
@@ -1625,7 +1628,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_PREFETCHABLE),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->PrefetchableMemBase)),
     Bridge->PrefetchableBaseUpper,
     (Bridge->PrefetchableMemBase << 16) & 0xfff00000
@@ -1633,7 +1636,7 @@
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_TWO_VARS_2),
-    HiiHandle,
+    gPciHiiHandle,
     Bridge->PrefetchableLimitUpper,
     (Bridge->PrefetchableMemLimit << 16) | 0x000fffff
     );
@@ -1643,7 +1646,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_CAPABILITIES_PTR_2),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->CapabilitiesPtr)),
     Bridge->CapabilitiesPtr
     );
@@ -1658,14 +1661,14 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_INTERRUPT_LINE_2),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->InterruptLine)),
     Bridge->InterruptLine
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_INTERRUPT_PIN),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(Bridge->InterruptPin)),
     Bridge->InterruptPin
     );
@@ -1728,17 +1731,17 @@
     IsMem = TRUE;
 
     if ((*Bar & PCI_BIT_1) == 0 && (*Bar & PCI_BIT_2) == 0) {
-      PrintToken (STRING_TOKEN (STR_PCI2_BAR), HiiHandle, *Bar & 0xfffffff0);
-      PrintToken (STRING_TOKEN (STR_PCI2_MEM), HiiHandle);
-      PrintToken (STRING_TOKEN (STR_PCI2_32_BITS), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_BAR), gPciHiiHandle, *Bar & 0xfffffff0);
+      PrintToken (STRING_TOKEN (STR_PCI2_MEM), gPciHiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_32_BITS), gPciHiiHandle);
 
     } else if ((*Bar & PCI_BIT_1) == 0 && (*Bar & PCI_BIT_2) != 0) {
       Bar64 = 0x0;
       CopyMem (&Bar64, Bar, sizeof (UINT32));
-      PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR_2), HiiHandle, RShiftU64 ((Bar64 & 0xfffffffffffffff0), 32));
-      PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR_3), HiiHandle, Bar64 & 0xfffffffffffffff0);
-      PrintToken (STRING_TOKEN (STR_PCI2_MEM), HiiHandle);
-      PrintToken (STRING_TOKEN (STR_PCI2_64_BITS), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR_2), gPciHiiHandle, RShiftU64 ((Bar64 & 0xfffffffffffffff0ULL), 32));
+      PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR_3), gPciHiiHandle, Bar64 & 0xfffffffffffffff0ULL);
+      PrintToken (STRING_TOKEN (STR_PCI2_MEM), gPciHiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_64_BITS), gPciHiiHandle);
       IsBar32 = FALSE;
       *Index += 1;
 
@@ -1746,15 +1749,15 @@
       //
       // Reserved
       //
-      PrintToken (STRING_TOKEN (STR_PCI2_BAR), HiiHandle, *Bar & 0xfffffff0);
-      PrintToken (STRING_TOKEN (STR_PCI2_MEM_2), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_BAR), gPciHiiHandle, *Bar & 0xfffffff0);
+      PrintToken (STRING_TOKEN (STR_PCI2_MEM_2), gPciHiiHandle);
     }
 
     if ((*Bar & PCI_BIT_3) == 0) {
-      PrintToken (STRING_TOKEN (STR_PCI2_NO), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_NO), gPciHiiHandle);
 
     } else {
-      PrintToken (STRING_TOKEN (STR_PCI2_YES), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_PCI2_YES), gPciHiiHandle);
     }
 
   } else {
@@ -1762,7 +1765,7 @@
     // This bar is of io type
     //
     IsMem = FALSE;
-    PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR_4), HiiHandle, *Bar & 0xfffffffc);
+    PrintToken (STRING_TOKEN (STR_PCI2_ONE_VAR_4), gPciHiiHandle, *Bar & 0xfffffffc);
     Print (L"I/O                               ");
   }
 
@@ -1807,18 +1810,18 @@
 
     OldBar64 = 0x0;
     CopyMem (&OldBar64, Bar, sizeof (UINT32));
-    NewBar64 = 0xffffffffffffffff;
+    NewBar64 = 0xffffffffffffffffULL;
 
     IoDev->Pci.Write (IoDev, EfiPciWidthUint32, RegAddress, 2, &NewBar64);
     IoDev->Pci.Read (IoDev, EfiPciWidthUint32, RegAddress, 2, &NewBar64);
     IoDev->Pci.Write (IoDev, EfiPciWidthUint32, RegAddress, 2, &OldBar64);
 
     if (IsMem) {
-      NewBar64  = NewBar64 & 0xfffffffffffffff0;
+      NewBar64  = NewBar64 & 0xfffffffffffffff0ULL;
       NewBar64  = (~NewBar64) + 1;
 
     } else {
-      NewBar64  = NewBar64 & 0xfffffffffffffffc;
+      NewBar64  = NewBar64 & 0xfffffffffffffffcULL;
       NewBar64  = (~NewBar64) + 1;
       NewBar64  = NewBar64 & 0x000000000000ffff;
     }
@@ -1831,24 +1834,24 @@
 
   if (IsMem) {
     if (IsBar32) {
-      PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32), HiiHandle, NewBar32);
-      PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32_2), HiiHandle, NewBar32 + (*Bar & 0xfffffff0) - 1);
+      PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32), gPciHiiHandle, NewBar32);
+      PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32_2), gPciHiiHandle, NewBar32 + (*Bar & 0xfffffff0) - 1);
 
     } else {
-      PrintToken (STRING_TOKEN (STR_PCI2_RSHIFT), HiiHandle, RShiftU64 (NewBar64, 32));
-      PrintToken (STRING_TOKEN (STR_PCI2_RSHIFT), HiiHandle, (UINT32) NewBar64);
+      PrintToken (STRING_TOKEN (STR_PCI2_RSHIFT), gPciHiiHandle, RShiftU64 (NewBar64, 32));
+      PrintToken (STRING_TOKEN (STR_PCI2_RSHIFT), gPciHiiHandle, (UINT32) NewBar64);
       Print (L"  ");
       PrintToken (
         STRING_TOKEN (STR_PCI2_RSHIFT),
-        HiiHandle,
-        RShiftU64 ((NewBar64 + (Bar64 & 0xfffffffffffffff0) - 1), 32)
+        gPciHiiHandle,
+        RShiftU64 ((NewBar64 + (Bar64 & 0xfffffffffffffff0ULL) - 1), 32)
         );
-      PrintToken (STRING_TOKEN (STR_PCI2_RSHIFT), HiiHandle, (UINT32) (NewBar64 + (Bar64 & 0xfffffffffffffff0) - 1));
+      PrintToken (STRING_TOKEN (STR_PCI2_RSHIFT), gPciHiiHandle, (UINT32) (NewBar64 + (Bar64 & 0xfffffffffffffff0ULL) - 1));
 
     }
   } else {
-    PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32_3), HiiHandle, NewBar32);
-    PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32_4), HiiHandle, NewBar32 + (*Bar & 0xfffffffc) - 1);
+    PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32_3), gPciHiiHandle, NewBar32);
+    PrintToken (STRING_TOKEN (STR_PCI2_NEWBAR_32_4), gPciHiiHandle, NewBar32 + (*Bar & 0xfffffffc) - 1);
   }
 
   return EFI_SUCCESS;
@@ -1883,7 +1886,7 @@
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_CARDBUS_SOCKET),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->CardBusSocketReg)),
     CardBus->CardBusSocketReg
     );
@@ -1899,7 +1902,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_BUS_NUMBERS_2),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->PciBusNumber)),
     INDEX_OF (&(CardBus->CardBusBusNumber)),
     INDEX_OF (&(CardBus->SubordinateBusNumber))
@@ -1907,16 +1910,16 @@
 
   Print (L"               ------------------------------------------------------\n");
 
-  PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS), HiiHandle, CardBus->PciBusNumber);
-  PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS_2), HiiHandle, CardBus->CardBusBusNumber);
-  PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS_3), HiiHandle, CardBus->SubordinateBusNumber);
+  PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS), gPciHiiHandle, CardBus->PciBusNumber);
+  PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS_2), gPciHiiHandle, CardBus->CardBusBusNumber);
+  PrintToken (STRING_TOKEN (STR_PCI2_CARDBUS_3), gPciHiiHandle, CardBus->SubordinateBusNumber);
 
   //
   // Print CardBus Latency Timer
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_CARDBUS_LATENCY),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->CardBusLatencyTimer)),
     CardBus->CardBusLatencyTimer
     );
@@ -1924,12 +1927,12 @@
   //
   // Print Memory/Io ranges this cardbus bridge forwards
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_RESOURCE_TYPE_2), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_PCI2_RESOURCE_TYPE_2), gPciHiiHandle);
   Print (L"----------------------------------------------------------------------\n");
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_MEM_3),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->MemoryBase0)),
     CardBus->BridgeControl & PCI_BIT_8 ? L"    Prefetchable" : L"Non-Prefetchable",
     CardBus->MemoryBase0 & 0xfffff000,
@@ -1938,7 +1941,7 @@
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_MEM_3),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->MemoryBase1)),
     CardBus->BridgeControl & PCI_BIT_9 ? L"    Prefetchable" : L"Non-Prefetchable",
     CardBus->MemoryBase1 & 0xfffff000,
@@ -1948,21 +1951,21 @@
   Io32Bit = (BOOLEAN) (CardBus->IoBase0 & PCI_BIT_0);
   PrintToken (
     STRING_TOKEN (STR_PCI2_IO_2),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->IoBase0)),
     Io32Bit ? L"          32 bit" : L"          16 bit",
     CardBus->IoBase0 & (Io32Bit ? 0xfffffffc : 0x0000fffc),
-    CardBus->IoLimit0 & (Io32Bit ? 0xffffffff : 0x0000ffff) | 0x00000003
+    (CardBus->IoLimit0 & (Io32Bit ? 0xffffffff : 0x0000ffff)) | 0x00000003
     );
 
   Io32Bit = (BOOLEAN) (CardBus->IoBase1 & PCI_BIT_0);
   PrintToken (
     STRING_TOKEN (STR_PCI2_IO_2),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->IoBase1)),
     Io32Bit ? L"          32 bit" : L"          16 bit",
     CardBus->IoBase1 & (Io32Bit ? 0xfffffffc : 0x0000fffc),
-    CardBus->IoLimit1 & (Io32Bit ? 0xffffffff : 0x0000ffff) | 0x00000003
+    (CardBus->IoLimit1 & (Io32Bit ? 0xffffffff : 0x0000ffff)) | 0x00000003
     );
 
   //
@@ -1970,7 +1973,7 @@
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_INTERRUPT_LINE_3),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBus->InterruptLine)),
     CardBus->InterruptLine,
     INDEX_OF (&(CardBus->InterruptPin)),
@@ -1991,7 +1994,7 @@
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_SUB_VENDOR_ID_2),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBusData->SubVendorId)),
     CardBusData->SubVendorId,
     INDEX_OF (&(CardBusData->SubSystemId)),
@@ -2000,7 +2003,7 @@
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_OPTIONAL),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (&(CardBusData->LegacyBase)),
     CardBusData->LegacyBase
     );
@@ -2035,80 +2038,80 @@
 --*/
 {
   if (MainStatus) {
-    PrintToken (STRING_TOKEN (STR_PCI2_STATUS), HiiHandle, INDEX_OF (Status), *Status);
+    PrintToken (STRING_TOKEN (STR_PCI2_STATUS), gPciHiiHandle, INDEX_OF (Status), *Status);
 
   } else {
-    PrintToken (STRING_TOKEN (STR_PCI2_SECONDARY_STATUS), HiiHandle, INDEX_OF (Status), *Status);
+    PrintToken (STRING_TOKEN (STR_PCI2_SECONDARY_STATUS), gPciHiiHandle, INDEX_OF (Status), *Status);
   }
 
-  PrintToken (STRING_TOKEN (STR_PCI2_NEW_CAPABILITIES), HiiHandle, (*Status & PCI_BIT_4) != 0);
+  PrintToken (STRING_TOKEN (STR_PCI2_NEW_CAPABILITIES), gPciHiiHandle, (*Status & PCI_BIT_4) != 0);
 
   //
   // Bit 5 is meaningless for CardBus Bridge
   //
   if (HeaderType == PciCardBusBridge) {
-    PrintToken (STRING_TOKEN (STR_PCI2_66_CAPABLE), HiiHandle, (*Status & PCI_BIT_5) != 0);
+    PrintToken (STRING_TOKEN (STR_PCI2_66_CAPABLE), gPciHiiHandle, (*Status & PCI_BIT_5) != 0);
 
   } else {
-    PrintToken (STRING_TOKEN (STR_PCI2_66_CAPABLE_2), HiiHandle, (*Status & PCI_BIT_5) != 0);
+    PrintToken (STRING_TOKEN (STR_PCI2_66_CAPABLE_2), gPciHiiHandle, (*Status & PCI_BIT_5) != 0);
   }
 
-  PrintToken (STRING_TOKEN (STR_PCI2_FAST_BACK), HiiHandle, (*Status & PCI_BIT_7) != 0);
+  PrintToken (STRING_TOKEN (STR_PCI2_FAST_BACK), gPciHiiHandle, (*Status & PCI_BIT_7) != 0);
 
-  PrintToken (STRING_TOKEN (STR_PCI2_MASTER_DATA), HiiHandle, (*Status & PCI_BIT_8) != 0);
+  PrintToken (STRING_TOKEN (STR_PCI2_MASTER_DATA), gPciHiiHandle, (*Status & PCI_BIT_8) != 0);
   //
   // Bit 9 and bit 10 together decides the DEVSEL timing
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_DEVSEL_TIMING), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_PCI2_DEVSEL_TIMING), gPciHiiHandle);
   if ((*Status & PCI_BIT_9) == 0 && (*Status & PCI_BIT_10) == 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_FAST), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_FAST), gPciHiiHandle);
 
   } else if ((*Status & PCI_BIT_9) != 0 && (*Status & PCI_BIT_10) == 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_MEDIUM), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_MEDIUM), gPciHiiHandle);
 
   } else if ((*Status & PCI_BIT_9) == 0 && (*Status & PCI_BIT_10) != 0) {
-    PrintToken (STRING_TOKEN (STR_PCI2_SLOW), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_SLOW), gPciHiiHandle);
 
   } else {
-    PrintToken (STRING_TOKEN (STR_PCI2_RESERVED_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_PCI2_RESERVED_2), gPciHiiHandle);
   }
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_SIGNALED_TARGET),
-    HiiHandle,
+    gPciHiiHandle,
     (*Status & PCI_BIT_11) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_RECEIVED_TARGET),
-    HiiHandle,
+    gPciHiiHandle,
     (*Status & PCI_BIT_12) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_RECEIVED_MASTER),
-    HiiHandle,
+    gPciHiiHandle,
     (*Status & PCI_BIT_13) != 0
     );
 
   if (MainStatus) {
     PrintToken (
       STRING_TOKEN (STR_PCI2_SIGNALED_ERROR),
-      HiiHandle,
+      gPciHiiHandle,
       (*Status & PCI_BIT_14) != 0
       );
 
   } else {
     PrintToken (
       STRING_TOKEN (STR_PCI2_RECEIVED_ERROR),
-      HiiHandle,
+      gPciHiiHandle,
       (*Status & PCI_BIT_14) != 0
       );
   }
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_DETECTED_ERROR),
-    HiiHandle,
+    gPciHiiHandle,
     (*Status & PCI_BIT_15) != 0
     );
 
@@ -2138,68 +2141,68 @@
   //
   // Print the binary value of register Command
   //
-  PrintToken (STRING_TOKEN (STR_PCI2_COMMAND), HiiHandle, INDEX_OF (Command), *Command);
+  PrintToken (STRING_TOKEN (STR_PCI2_COMMAND), gPciHiiHandle, INDEX_OF (Command), *Command);
 
   //
   // Explain register Command bit by bit
   //
   PrintToken (
     STRING_TOKEN (STR_PCI2_SPACE_ACCESS_DENIED),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_0) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_MEMORY_SPACE),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_1) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_BEHAVE_BUS_MASTER),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_2) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_MONITOR_SPECIAL_CYCLE),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_3) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_MEM_WRITE_INVALIDATE),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_4) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_PALETTE_SNOOPING),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_5) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_ASSERT_PERR),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_6) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_DO_ADDR_STEPPING),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_7) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_SERR_DRIVER),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_8) != 0
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_FAST_BACK_2),
-    HiiHandle,
+    gPciHiiHandle,
     (*Command & PCI_BIT_9) != 0
     );
 
@@ -2230,34 +2233,34 @@
 {
   PrintToken (
     STRING_TOKEN (STR_PCI2_BRIDGE_CONTROL),
-    HiiHandle,
+    gPciHiiHandle,
     INDEX_OF (BridgeControl),
     *BridgeControl
     );
 
   PrintToken (
     STRING_TOKEN (STR_PCI2_PARITY_ERROR),
-    HiiHandle,
+    gPciHiiHandle,
     (*BridgeControl & PCI_BIT_0) != 0
     );
   PrintToken (
     STRING_TOKEN (STR_PCI2_SERR_ENABLE),
-    HiiHandle,
+    gPciHiiHandle,
     (*BridgeControl & PCI_BIT_1) != 0
     );
   PrintToken (
     STRING_TOKEN (STR_PCI2_ISA_ENABLE),
-    HiiHandle,
+    gPciHiiHandle,
     (*BridgeControl & PCI_BIT_2) != 0
     );
   PrintToken (
     STRING_TOKEN (STR_PCI2_VGA_ENABLE),
-    HiiHandle,
+    gPciHiiHandle,
     (*BridgeControl & PCI_BIT_3) != 0
     );
   PrintToken (
     STRING_TOKEN (STR_PCI2_MASTER_ABORT),
-    HiiHandle,
+    gPciHiiHandle,
     (*BridgeControl & PCI_BIT_5) != 0
     );
 
@@ -2268,49 +2271,49 @@
   if (HeaderType == PciP2pBridge) {
     PrintToken (
       STRING_TOKEN (STR_PCI2_SECONDARY_BUS_RESET),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_6) != 0
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_FAST_ENABLE),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_7) != 0
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_PRIMARY_DISCARD_TIMER),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_8) ? L"2^10" : L"2^15"
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_SECONDARY_DISCARD_TIMER),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_9) ? L"2^10" : L"2^15"
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_DISCARD_TIMER_STATUS),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_10) != 0
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_DISCARD_TIMER_SERR),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_11) != 0
       );
 
   } else {
     PrintToken (
       STRING_TOKEN (STR_PCI2_CARDBUS_RESET),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_6) != 0
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_IREQ_ENABLE),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_7) != 0
       );
     PrintToken (
       STRING_TOKEN (STR_PCI2_WRITE_POSTING_ENABLE),
-      HiiHandle,
+      gPciHiiHandle,
       (*BridgeControl & PCI_BIT_10) != 0
       );
   }
@@ -3077,7 +3080,7 @@
     }
     PrintToken (
       PcieExplainList[Index].Token,
-      HiiHandle,
+      gPciHiiHandle,
       PcieExplainList[Index].Offset,
       RegValue
       );
diff --ignore-file-name-case -Naur ShellR33/pci/pci.h GccShellR33/pci/pci.h
--- ShellR33/pci/pci.h	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/pci/pci.h	2009-09-22 19:19:20.000000000 -0700
@@ -30,7 +30,7 @@
     0x388da6c3, 0x3447, 0x4b1f, 0xa0, 0xba, 0xa9, 0xe8, 0xa2, 0x87, 0xf1, 0x76 \
   }
 
-#include "TIANO.h"
+#include "Tiano.h"
 
 typedef enum {
   PciDevice,
diff --ignore-file-name-case -Naur ShellR33/pci/pci.inf GccShellR33/pci/pci.inf
--- ShellR33/pci/pci.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/pci/pci.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,7 +41,7 @@
 
 [sources.common]
   PciStrings.uni
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   pci.c
   pci.h
   pci_class.h
@@ -49,17 +49,17 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/pci/pci_class.c GccShellR33/pci/pci_class.c
--- ShellR33/pci/pci_class.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/pci/pci_class.c	2009-11-05 13:49:56.000000000 -0800
@@ -27,10 +27,12 @@
 
 #include STRING_DEFINES_FILE
 
+extern EFI_HII_HANDLE    gPciHiiHandle;
+
+
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
 
 PCI_CLASS_ENTRY gClassStringList[];
 
@@ -1417,7 +1419,7 @@
     //
     PrintToken (
       STRING_TOKEN (STR_PCI_CLASS_THREE_VARS),
-      HiiHandle,
+      gPciHiiHandle,
       ClassStrings.BaseClass,
       ClassStrings.SubClass,
       ClassStrings.PIFClass
@@ -1436,6 +1438,6 @@
       );
 
     OutputString[PCI_CLASS_STRING_LIMIT] = 0;
-    PrintToken (STRING_TOKEN (STR_PCI_CLASS_ONE_VARS), HiiHandle, OutputString);
+    PrintToken (STRING_TOKEN (STR_PCI_CLASS_ONE_VARS), gPciHiiHandle, OutputString);
   }
 }
diff --ignore-file-name-case -Naur ShellR33/pci/pci_class.h GccShellR33/pci/pci_class.h
--- ShellR33/pci/pci_class.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/pci/pci_class.h	2009-09-22 19:19:20.000000000 -0700
@@ -24,7 +24,7 @@
 #ifndef _PCI_CLASS_H_
 #define _PCI_CLASS_H_
 
-#include "TIANO.h"  // for UINT32 etc.
+#include "Tiano.h"  // for UINT32 etc.
 #define PCI_CLASS_STRING_LIMIT  54
 //
 // Printable strings for Pci class code
diff --ignore-file-name-case -Naur ShellR33/Ping/Ping.c GccShellR33/Ping/Ping.c
--- ShellR33/Ping/Ping.c	2008-10-06 00:03:04.000000000 -0700
+++ GccShellR33/Ping/Ping.c	2009-11-05 13:49:56.000000000 -0800
@@ -20,14 +20,14 @@
 --*/
 
 #include "EfiShellLib.h"
-#include "CpuFuncs.h"
+//#include "CpuFuncs.h"
 #include EFI_ARCH_PROTOCOL_DEFINITION (Cpu)
 #include EFI_PROTOCOL_DEFINITION (Ip4)
 #include "Ping.h"
 #include STRING_DEFINES_FILE
 extern UINT8 STRING_ARRAY_NAME[];
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 
 EFI_GUID  EfiPingGuid = EFI_PING_GUID;
 SHELL_VAR_CHECK_ITEM  PingCheckList[] = {
@@ -66,6 +66,8 @@
 UINT32            RttMin;
 UINT32            RttMax;
 
+EFI_CPU_ARCH_PROTOCOL  *gCpu = NULL;
+
 STATIC
 UINT64
 GetTimerValue (
@@ -87,7 +89,22 @@
 
 --*/
 {
-  return EfiReadTsc ();
+  static UINT64          CurrentTick = 0;
+  UINT64                 TimerPeriod;
+  EFI_STATUS             Status;
+
+  ASSERT (gCpu != NULL);
+
+  Status = gCpu->GetTimerValue (gCpu, 0, &CurrentTick, &TimerPeriod);
+  if (EFI_ERROR (Status)) {
+    //
+    // The WinntGetTimerValue will return EFI_UNSUPPORTED. Set the
+    // TimerPeriod by ourselves.
+    //
+    CurrentTick += 1000000;
+  }
+  
+  return CurrentTick;
 }
 
 STATIC
@@ -113,19 +130,18 @@
 --*/
 {
   EFI_STATUS             Status;
-  EFI_CPU_ARCH_PROTOCOL  *Cpu;
   UINT64                 CurrentTick;
   UINT64                 TimerPeriod;
 
   //
   // Locate the Cpu Arch Protocol.
   //
-  Status = BS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, &Cpu);
+  Status = BS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&gCpu);
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  Status = Cpu->GetTimerValue (Cpu, 0, &CurrentTick, &TimerPeriod);
+  Status = gCpu->GetTimerValue (gCpu, 0, &CurrentTick, &TimerPeriod);
   if (EFI_ERROR (Status)) {
     //
     // The WinntGetTimerValue will return EFI_UNSUPPORTED. Set the
@@ -138,7 +154,7 @@
   // The TimerPeriod is in femtosecond (1 femtosecond is  1e-15 second), so 1e+12
   // is divided by TimerPeriod to produce the Feq in tick/ms.
   //
-  Frequency = DivU64x32 (1000000000000, (UINTN) TimerPeriod, NULL);
+  Frequency = DivU64x32 (1000000000000ULL, (UINTN) TimerPeriod, NULL);
 
   return EFI_SUCCESS;
 }
@@ -787,7 +803,7 @@
   EFI_STATUS                    Status;
   EFI_SERVICE_BINDING_PROTOCOL  *Ip4Sb;
 
-  Status = BS->LocateProtocol (&gEfiIp4ServiceBindingProtocolGuid, NULL, &Ip4Sb);
+  Status = BS->LocateProtocol (&gEfiIp4ServiceBindingProtocolGuid, NULL, (VOID **)&Ip4Sb);
   if (EFI_ERROR (Status)) {
     return Status;
   }
@@ -844,7 +860,7 @@
         ChildHandle
         );
 
-  BS->LocateProtocol (&gEfiIp4ServiceBindingProtocolGuid, NULL, &Ip4Sb);
+  BS->LocateProtocol (&gEfiIp4ServiceBindingProtocolGuid, NULL, (VOID **)&Ip4Sb);
 
   Ip4Sb->DestroyChild (Ip4Sb, ChildHandle);
 }
diff --ignore-file-name-case -Naur ShellR33/Ping/Ping.inf GccShellR33/Ping/Ping.inf
--- ShellR33/Ping/Ping.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/Ping/Ping.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,24 +25,24 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   PingStrings.uni
   Ping.h
   Ping.c
 
 [includes.common]
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(EDK_SOURCE)\Foundation\Library\Dxe\Include
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(EDK_SOURCE)/Foundation/Library/Dxe/Include
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
@@ -52,7 +52,7 @@
   ArchProtocolLib
   EdkGuidLib
   EdkFrameworkGuidLib
-  EfiDriverLib
+#  EfiDriverLib
 
 [libraries.IA32]
   CpuIA32Lib
diff --ignore-file-name-case -Naur ShellR33/reset/reset.inf GccShellR33/reset/reset.inf
--- ShellR33/reset/reset.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/reset/reset.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    ResetStrings.uni
    Reset.c
    Reset.h 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/rm/rm.inf GccShellR33/rm/rm.inf
--- ShellR33/rm/rm.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/rm/rm.inf	2009-09-22 15:37:05.000000000 -0700
@@ -41,23 +41,23 @@
 
 [sources.common]
    RmStrings.uni      
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    rm.h                        
    rm.c                 
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/sermode/sermode.c GccShellR33/sermode/sermode.c
--- ShellR33/sermode/sermode.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/sermode/sermode.c	2009-11-05 13:49:56.000000000 -0800
@@ -35,7 +35,7 @@
 
 #include EFI_PROTOCOL_DEFINITION (SerialIo)
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiSermodeGuid = EFI_SERMODEB_GUID;
 SHELL_VAR_CHECK_ITEM    SermodeCheckList[] = {
   {
@@ -104,7 +104,7 @@
 
     }
 
-    Status = BS->HandleProtocol (Handles[Index], &gEfiSerialIoProtocolGuid, &SerialIo);
+    Status = BS->HandleProtocol (Handles[Index], &gEfiSerialIoProtocolGuid, (VOID **)&SerialIo);
     if (!EFI_ERROR (Status)) {
       switch (SerialIo->Mode->Parity) {
       case DefaultParity:
@@ -454,7 +454,7 @@
       continue;
     }
 
-    Status = BS->HandleProtocol (Handles[Index], &gEfiSerialIoProtocolGuid, &SerialIo);
+    Status = BS->HandleProtocol (Handles[Index], &gEfiSerialIoProtocolGuid, (VOID **)&SerialIo);
     if (!EFI_ERROR (Status)) {
       Status = SerialIo->SetAttributes (
                           SerialIo,
diff --ignore-file-name-case -Naur ShellR33/sermode/sermode.inf GccShellR33/sermode/sermode.inf
--- ShellR33/sermode/sermode.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/sermode/sermode.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   SermodeStrings.uni
   sermode.c
   sermode.h
  
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/Shell.inf GccShellR33/Shell.inf
--- ShellR33/Shell.inf	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/Shell.inf	2009-11-07 12:33:52.000000000 -0800
@@ -25,179 +25,190 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  Library\ShellDebug.c
-  Library\DPath.c
-  Library\Init.c
-  Library\Lock.c
-  Library\Str.c
-  Library\IO.c
-  Library\Mem.c
-  Library\Misc.c
-  Library\Data.c
-  Library\RtData.c
-  Library\ShellEnvInt.c
-  Library\Handle.c
-  Library\FileIO.c
-  Library\ConsistMapping.c
-  Library\CRC.c
-  Library\Event.c
-  Library\Perf.c
-  Library\VarCheck.c
-  Library\HiiSupport.c  
-
-  newshell\NshellStrings.uni
-  newshell\init.c
-  newshell\nshell.h
-  newshell\fakehii.c
+  Library/ShellDebug.c
+  Library/DPath.c
+  Library/Init.c
+  Library/Lock.c
+  Library/Str.c
+  Library/IO.c
+  Library/Mem.c
+  Library/Misc.c
+  Library/Data.c
+  Library/RtData.c
+  Library/ShellEnvInt.c
+  Library/Handle.c
+  Library/FileIO.c
+  Library/ConsistMapping.c
+  Library/CRC.c
+  Library/Event.c
+  Library/Perf.c
+  Library/VarCheck.c
+  Library/HiiSupport.c  
+
+  newshell/NshellStrings.uni
+  newshell/init.c
+  newshell/nshell.h
+  newshell/fakehii.c  
+  newshell/DebugAssert.c
+
 
   ShCommonStrings.uni
-  shellenv\ShellenvHelpStrings.uni
-  shellenv\ShellenvStrings.uni
-  shellenv\ScriptCmdStrings.uni
-  shellenv\ConnectStrings.uni
-  shellenv\EchoStrings.uni
-  shellenv\HelpStrings.uni
-  shellenv\MapStrings.uni
-  shellenv\CdStrings.uni
-  shellenv\DhStrings.uni
-  
-  shellenv\cmddisp.c
-  shellenv\connect.c
-  shellenv\data.c
-  shellenv\exec.c
-  shellenv\init.c
-  shellenv\protid.c
-  shellenv\var.c
-  shellenv\conio.c
-  shellenv\consoleproxy.c
-  shellenv\handle.c
-  shellenv\dprot.c
-  shellenv\map.c
-  shellenv\marg.c
-  shellenv\batch.c
-  shellenv\if.c
-  shellenv\goto.c
-  shellenv\echo.c
-  shellenv\pause.c
-  shellenv\for.c
-  shellenv\wait.c
-  shellenv\help.c
-  shellenv\shelle.h
-  shellenv\shellenvguid.h
-  shellenv\parsecmd.c
-  shellenv\shift.c
+  shellenv/ShellenvHelpStrings.uni
+  shellenv/ShellenvStrings.uni
+  shellenv/ScriptCmdStrings.uni
+  shellenv/ConnectStrings.uni
+  shellenv/EchoStrings.uni
+  shellenv/HelpStrings.uni
+  shellenv/MapStrings.uni
+  shellenv/CdStrings.uni
+  shellenv/DhStrings.uni
+  
+  shellenv/cmddisp.c
+  shellenv/connect.c
+  shellenv/data.c
+  shellenv/exec.c
+  shellenv/init.c
+  shellenv/protid.c
+  shellenv/var.c
+  shellenv/conio.c
+  shellenv/consoleproxy.c
+  shellenv/handle.c
+  shellenv/dprot.c
+  shellenv/map.c
+  shellenv/marg.c
+  shellenv/batch.c
+  shellenv/if.c
+  shellenv/goto.c
+  shellenv/echo.c
+  shellenv/pause.c
+  shellenv/for.c
+  shellenv/wait.c
+  shellenv/help.c
+  shellenv/shelle.h
+  shellenv/shellenvguid.h
+  shellenv/parsecmd.c
+  shellenv/shift.c
  
-  unload\UnloadStrings.uni
-  unload\unload.c
+  unload/UnloadStrings.uni
+  unload/unload.c
   
-  attrib\AttribStrings.uni
-  attrib\attrib.c
-  attrib\attrib.h
-
-  cls\clsstrings.uni
-  cls\cls.c
-
-  cp\CpStrings.uni
-  cp\cp.h
-  cp\cp.c
+  attrib/AttribStrings.uni
+  attrib/attrib.c
+  attrib/attrib.h
+
+  cls/clsstrings.uni
+  cls/cls.c
+
+  cp/CpStrings.uni
+  cp/cp.h
+  cp/cp.c
  
-  date\DateStrings.uni
-  date\date.c
-  date\date.h
-
-  load\LoadStrings.uni
-  load\load.c
-  load\load.h
-
-  ls\LsStrings.uni
-  ls\ls.h
-  ls\ls.c
-
-  mkdir\MkdirStrings.uni
-  mkdir\mkdir.c
-  mkdir\mkdir.h
-
-  mv\MvStrings.uni
-  mv\mv.c
-  mv\mv.h
+  date/DateStrings.uni
+  date/date.c
+  date/date.h
+
+  load/LoadStrings.uni
+  load/load.c
+  load/load.h
+
+  ls/LsStrings.uni
+  ls/ls.h
+  ls/ls.c
+
+  mkdir/MkdirStrings.uni
+  mkdir/mkdir.c
+  mkdir/mkdir.h
+
+  mv/MvStrings.uni
+  mv/mv.c
+  mv/mv.h
  
-  reset\ResetStrings.uni
-  reset\reset.c
-  reset\reset.h
-  
-  rm\RmStrings.uni
-  rm\rm.h
-  rm\rm.c
-  
-  type\TypeStrings.uni
-  type\type.c
-  type\type.h
-  time\TimeStrings.uni
-  time\time.c
-  time\time.h
-
-  touch\TouchStrings.uni
-  touch\touch.c
-  touch\touch.h
-
-  vol\VolStrings.uni
-  vol\vol.c
-  vol\vol.h
-
-  ver\VerStrings.uni
-  ver\ver.c
-  ver\ver.h
-  
-  drivers\driversStrings.uni
-  drivers\drivers.c
-  drivers\drivers.h
-  
-  drvcfg\DrvcfgStrings.uni
-  drvcfg\drvcfg.c
-  drvcfg\drvcfg.h
+  reset/ResetStrings.uni
+  reset/reset.c
+  reset/reset.h
+  
+  rm/RmStrings.uni
+  rm/rm.h
+  rm/rm.c
+  
+  type/TypeStrings.uni
+  type/type.c
+  type/type.h
+  time/TimeStrings.uni
+  time/time.c
+  time/time.h
+
+  touch/TouchStrings.uni
+  touch/touch.c
+  touch/touch.h
+
+  vol/VolStrings.uni
+  vol/vol.c
+  vol/vol.h
+
+  ver/VerStrings.uni
+  ver/ver.c
+  ver/ver.h
+  
+  drivers/driversStrings.uni
+  drivers/drivers.c
+  drivers/drivers.h
+  
+  drvcfg/DrvcfgStrings.uni
+  drvcfg/drvcfg.c
+  drvcfg/drvcfg.h
         
-  drvdiag\DrvdiagStrings.uni
-  drvdiag\drvdiag.c
-  drvdiag\drvdiag.h
+  drvdiag/DrvdiagStrings.uni
+  drvdiag/drvdiag.c
+  drvdiag/drvdiag.h
  
 
 
 [sources.ia32]
-  ver\ia32\ver32.c
-  Library\ia32\math.c
-  Library\ia32\initplat.c
+  ver/IA32/ver32.c
+  Library/IA32/math.c
+  Library/IA32/initplat.c
+  Library/IA32/DivU64x32Remainder.S  | GCC
+  Library/IA32/LShiftU64.S           | GCC
+  Library/IA32/RShiftU64.S           | GCC
+  Library/IA32/MultU64x32.S          | GCC
 
 
 [sources.ipf]
-  ver\ipf\ver64.c
-  Library\ipf\math.c
-  Library\ipf\initplat.c
-  Library\ipf\palproc.s
-  Library\ipf\salpal.c
+  ver/ipf/ver64.c
+  Library/ipf/math.c
+  Library/ipf/initplat.c
+  Library/ipf/palproc.s
+  Library/ipf/salpal.c
 
 [sources.EBC]
-  ver\ebc\verEbc.c
-  Library\EBC\math.c
-  Library\EBC\initplat.c
+  ver/ebc/verEbc.c
+  Library/EBC/math.c
+  Library/EBC/initplat.c
 
 [sources.x64]
-  ver\ia32\ver32.c
-  Library\ipf\math.c
-  Library\ia32\initplat.c
+  ver/ia32/ver32.c
+  Library/ipf/math.c
+  Library/ia32/initplat.c
+
+[sources.ARM]
+  ver/ia32/ver32.c
+  Library/ipf/math.c
+  Library/ia32/initplat.c
 
 [includes.common]
   .
-  .\Inc
-  .\ver
-  .\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
+  ./Inc
+  ./ver
+  ./Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
   $(DEST_DIR)
 
 [libraries.common]
diff --ignore-file-name-case -Naur ShellR33/shellenv/conio.c GccShellR33/shellenv/conio.c
--- ShellR33/shellenv/conio.c	2009-08-13 22:57:02.000000000 -0700
+++ GccShellR33/shellenv/conio.c	2009-10-14 16:36:30.000000000 -0700
@@ -1,6 +1,6 @@
 /*++
 
-Copyright (c) 2005 - 2009, Intel Corporation                                                         
+Copyright (c) 2005 - 2008, 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         
@@ -890,14 +890,7 @@
     // If we need to update the output do so now
     //
     if (Update != -1) {
-      if ((ConOut->Mode->CursorColumn != (INT32) Column) ||  (ConOut->Mode->CursorRow != (INT32) Row)) {
-        PrintAt (Column, Row, L"%s%.*s", Str + Update, Delete, L"");
-      } else {
-        //
-        // Don't need to SetCursorPosition() if the current cursor position is not changed 
-        //
-        PrintAt ((UINTN) -1, (UINTN) -1, L"%s%.*s", Str + Update, Delete, L"");
-      }
+      PrintAt (Column, Row, L"%s%.*s", Str + Update, Delete, L"");
       Len = StrLen (Str);
 
       if (Delete) {
@@ -953,12 +946,10 @@
 
       Delete = 0;
     }
-    if ((ConOut->Mode->CursorColumn != (INT32) Column) ||  (ConOut->Mode->CursorRow != (INT32) Row)) {
-      //
-      // Set the cursor position for this key
-      //
-      ConOut->SetCursorPosition (ConOut, Column, Row);
-    }
+    //
+    // Set the cursor position for this key
+    //
+    ConOut->SetCursorPosition (ConOut, Column, Row);
   } while (!Done);
 
   //
diff --ignore-file-name-case -Naur ShellR33/shellenv/dprot.c GccShellR33/shellenv/dprot.c
--- ShellR33/shellenv/dprot.c	2008-11-24 21:49:58.000000000 -0800
+++ GccShellR33/shellenv/dprot.c	2009-09-22 19:19:20.000000000 -0700
@@ -23,7 +23,7 @@
 
 #include "shelle.h"
 #include "shellenvguid.h"
-#include "acpi.h"
+#include "Acpi.h"
 
 STATIC CHAR16 *SEnvDP_IlleagalStr[] = { L"Illegal" };
 
@@ -1294,6 +1294,9 @@
     case EfiIsaAcpiResourceInterrupt:
       PrintToken (STRING_TOKEN (STR_SHELLENV_DPROT_INT), HiiEnvHandle);
       break;
+      
+    default:
+      break;
     }
 
     if (IsaIo->ResourceList->ResourceItem[Index].StartRange == IsaIo->ResourceList->ResourceItem[Index].EndRange) {
diff --ignore-file-name-case -Naur ShellR33/shellenv/exec.c GccShellR33/shellenv/exec.c
--- ShellR33/shellenv/exec.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/shellenv/exec.c	2009-09-22 15:37:05.000000000 -0700
@@ -1868,7 +1868,7 @@
     return ;
   }
   //
-  // Processing foo: or foo:\
+  // Processing foo: or foo:/
   //
   if (PathPos != -1 && Ptr1 == NULL) {
     return ;
diff --ignore-file-name-case -Naur ShellR33/shellenv/for.c GccShellR33/shellenv/for.c
--- ShellR33/shellenv/for.c	2006-06-12 23:18:21.000000000 -0700
+++ GccShellR33/shellenv/for.c	2009-09-22 15:37:05.000000000 -0700
@@ -24,309 +24,8 @@
 #include "shelle.h"
 #include "shellenvguid.h"
 
-/*
-BOOLEAN
-CheckInterValue (
-  IN CHAR16                        *wszValueStr,
-  OUT INT32                        *pnValue
-  )
-{
-  UINTN                                    uPos = 0;
-  INT32                                    nSign = 0;
-  UINTN                                    uDigitStart = 0;
-  BOOLEAN                                bDigitFound = FALSE;
-  
-  while (wszValueStr[uPos]) {
-    if (L'+' == wszValueStr[uPos] || L'-' == wszValueStr[uPos]) {
-      if (0 != nSign) {
-        // sign already resolved, error
-        return FALSE;
-      }
-      nSign = (L'+' == wszValueStr[uPos]) ? 1 : -1;
-      uDigitStart = uPos + 1;
-    } else if (wszValueStr[uPos] < L'0' || wszValueStr[uPos] > L'9') {
-      // not digits or sign symbol, error
-      return FALSE;
-    } else {
-      if (0 == nSign) {
-      	  // no sign symbol before the first digit, take it as postive
-        nSign = 1;
-        uDigitStart = uPos;
-      }
-      bDigitFound = TRUE;
-    }
-    uPos++;
-  } // end of while
-
-  if (FALSE == bDigitFound) {
-    return FALSE;
-  }
-
-  *pnValue = Atoi (wszValueStr + uDigitStart) * nSign;
-  return TRUE;
-}
-
-BOOLEAN
-ExtractFromArg (
-  IN CHAR16                             *wszRng,
-  OUT INT32                             *pnStart,
-  OUT INT32                             *pnEnd,
-  OUT INT32                             *pnStep
-  )
-{
-  UINTN                                     uStrLen = 0;
-  UINTN                                     uPos = 1;
-  CHAR16                                   *pBreak1 = NULL;
-  CHAR16                                   *pBreak2 = NULL;
-  INT32                                      nTmp;
-  
-
-  uStrLen = StrLen (wszRng);
-  // there should be at least 5 characters
-  if (uStrLen < 5) {
-    return FALSE;
-  }
-
-  if (L'<' != wszRng[0] || L'>' != wszRng[uStrLen - 1]) {
-    return FALSE;
-  }
-
-  while (wszRng[uPos] != L'>') {
-    if (L',' == wszRng[uPos]) {
-      if (NULL == pBreak1) {
-        pBreak1 = &wszRng[uPos];
-      } else if (NULL == pBreak2) {
-        pBreak2 = &wszRng[uPos];
-        break;
-      }
-    }
-  } // end of while
-
-  // no ',' found
-  if (NULL == pBreak1) {
-    return FALSE;
-  } else if (pBreak1 == &wszRng[1]) {
-    // nothing between '<' and first ','
-    return FALSE;
-  } else if (pBreak1 == &wszRng[uStrLen - 2]) {
-    // nothing between first ',' and '>'
-    return FALSE;
-  } else if (pBreak1 - &wszRng[0] > 7) {
-    // too big number
-    return FALSE;
-  }
-  
-  if (NULL != pBreak2) {
-    if (pBreak2 = pBreak1 + 1) {
-      // nothing between adjacent ','
-      return FALSE;
-    } else if (pBreak2 == &wszRng[uStrLen - 2]) {
-      // nothing between second ',' and '>'
-      return FALSE;
-    } else if (pBreak2 - pBreak1 > 7) {
-      // too big number
-      return FALSE;
-    }
-  }
 
-  *pBreak1 = 0;
-  if (FALSE == CheckInterValue(&wszRng[1], &nTmp)) {
-    *pBreak1 = L',';
-    return FALSE;
-  } else {
-    *pBreak1 = L',';
-    *pnStart = nTmp;
-  }
-
-  if (NULL != pBreak2) {
-    *pBreak2 = 0;
-    if (FALSE == CheckInterValue(pBreak1 + 1, &nTmp)) {
-      *pBreak2 = L',';
-      return FALSE;
-    } else {
-      *pBreak2 = L',';
-      *pnEnd = nTmp;
-    }
-  } else {
-    pBreak2 = pBreak1;
-  }
-  
-  if (&wszRng[uStrLen - 1] - pBreak2 > 7) {
-    // too big number
-    return FALSE;
-  }
-
-  wszRng[uStrLen - 1] = 0;
-  if (FALSE == CheckInterValue(pBreak2 + 1, &nTmp)) {
-    wszRng[uStrLen - 1] = L',';
-    return FALSE;
-  } else {
-    wszRng[uStrLen - 1] = L',';
-    if (pBreak1 == pBreak2) {
-      *pnEnd = nTmp;
-      *pnStep = 1;
-    } else {
-      *pnStep = nTmp;
-    }
-  }  
-  return TRUE;
-}
-
-EFI_STATUS
-SEnvBatchPushFor2Stack (
-  IN  EFI_BATCH_STMT_TYPE            StmtType,
-  IN  BOOLEAN                        PushExtraStack
-  )
-/*++
-
-Routine Description:
 
-  Push a node into statement stack.
-
-Arguments:
-  StmtType         Statement type to be pushed
-  PushExtraStack   Push into extra statement stack or current statement stack
-
-Returns:
-  EFI_SUCCESS      The function finished sucessfully
-
---
-{
-  EFI_BATCH_STATEMENT                *Stmt;
-  EFI_LIST_ENTRY                     FileList;
-  EFI_LIST_ENTRY                     *Link;
-  EFI_BATCH_SCRIPT                   *Script;
-  EFI_BATCH_VAR_VALUE                *VarValue;
-  SHELL_FILE_ARG                     *Arg;
-  INTN                                  Index;
-  EFI_STATUS                         Status;
-  CHAR16                             Char;
-
-  INT32                               nStart, nEnd, nStep;
-  CHAR16                             wszValue[10];
-  
-  Status   = EFI_SUCCESS;
-  VarValue = NULL;
-
-  // this function only deals with 'for %var run <...>'
-  if (StmtFor != StmtType) {
-    return EFI_ABORTED;
-  }
-  
-  if (IsListEmpty (&ScriptStack.ScriptList)) {
-    return EFI_ABORTED;
-  }
-  
-  Script = CR (
-             ScriptStack.ScriptList.Flink, 
-             EFI_BATCH_SCRIPT, 
-             Link,
-             EFI_BATCH_SCRIPT_SIGNATURE
-             );
-
-  Stmt = AllocateZeroPool (sizeof (EFI_BATCH_STATEMENT));
-  if (Stmt == NULL) {
-    return EFI_OUT_OF_RESOURCES;
-  }
-
-  Stmt->Signature    = EFI_BATCH_STMT_SIGNATURE;
-  Stmt->StmtType     = StmtType;
-  Stmt->BeginFilePos = Script->FilePosition;
-  InitializeListHead (&Stmt->StmtInfo.ForInfo.ValueList);
-
-  //
-  // If we're pushing if statement to extra statement stack, set condition 
-  // to TRUE, for in case we need to jump into this statement later, the 
-  // condition should be treated as TRUE.
-  //  
-  if (Stmt->StmtType == StmtFor) {
-    Stmt->StmtInfo.ForInfo.BeginLineNum = SEnvGetLineNumber();
-  }
-
-  //
-  // if we're pushing FOR statement to the current statement stack, expand the
-  // command line argument to a list of variable values.
-  //
-  if (Stmt->StmtType == StmtFor && 
-      !PushExtraStack && 
-      SEnvBatchGetCondition ()
-      ) {
-
-    if (FALSE == ExtractFromArg(SI->Argv[3], &nStart, &nEnd, &nStep)) {
-      Status = EFI_INVALID_PARAMETER;
-      goto Done;
-    }
-
-    Stmt->StmtInfo.ForInfo.VariableName[0] = SI->Argv[1][0];
-    
-    for (Index = nStart; Index <= nEnd; Index += nStep) {     
-        VarValue = AllocateZeroPool (sizeof(EFI_BATCH_VAR_VALUE));
-        if (VarValue == NULL) {
-          Status = EFI_OUT_OF_RESOURCES;
-          goto Done;
-        }
-
-        SPrint (wszValue, sizeof(wszValue), "%d", Index);
-        VarValue->Signature = EFI_BATCH_VAR_SIGNATURE;        
-        VarValue->Value = AllocateZeroPool (StrLen (wszValue));
-        if (VarValue->Value == NULL) {
-          Status = EFI_OUT_OF_RESOURCES;
-          goto Done;
-        }
-        StrCpy (VarValue->Value, wszValue]);
-     
-        InsertTailList (&Stmt->StmtInfo.ForInfo.ValueList, &VarValue->Link);     
-    }
-  }
-  
-  //
-  // Push the node to stack and increment the nest level
-  //
-  if (PushExtraStack) {
-    InsertHeadList (&ExtraStmtStack.StmtList, &Stmt->Link);
-    ExtraStmtStack.NestLevel ++;
-  
-  } else {
-    InsertHeadList (&Script->StmtStack.StmtList, &Stmt->Link);
-    Script->StmtStack.NestLevel ++;
-  }
-
-Done:
-  if (EFI_ERROR (Status)) {
-    if (VarValue != NULL) {
-      if (VarValue->Value != NULL) {
-        FreePool (VarValue->Value);
-      }
-      FreePool (VarValue);
-    }
-    
-    if (Stmt->StmtType == StmtFor) {
-      while (!IsListEmpty (&Stmt->StmtInfo.ForInfo.ValueList)) {
-        Link = Stmt->StmtInfo.ForInfo.ValueList.Flink;
-        
-        VarValue = CR (
-                     Link, 
-                     EFI_BATCH_VAR_VALUE, 
-                     Link, 
-                     EFI_BATCH_VAR_SIGNATURE
-                     );
-                     
-        if (VarValue->Value != NULL) {
-          FreePool (VarValue->Value);
-        }
-        
-        RemoveEntryList (&VarValue->Link);
-        FreePool (VarValue);
-      }
-    }
-    
-    ShellFreeFileList (&FileList);
-    FreePool (Stmt);
-  }
-    
-  return Status;
-}
-*/
 EFI_STATUS
 SEnvCmdForRun (
   IN EFI_HANDLE                         hImageHandle,
diff --ignore-file-name-case -Naur ShellR33/shellenv/init.c GccShellR33/shellenv/init.c
--- ShellR33/shellenv/init.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/shellenv/init.c	2009-09-22 15:37:05.000000000 -0700
@@ -143,7 +143,7 @@
     Status = BS->HandleProtocol (
                   mOldSEnv->Handle,
                   &ShellEnvProtocol,
-                  &(mOldSEnv->Interface)
+                  (VOID **)&(mOldSEnv->Interface)
                   );
     ASSERT (!EFI_ERROR (Status));
     Status = BS->ReinstallProtocolInterface (
diff --ignore-file-name-case -Naur ShellR33/shellenv/map.c GccShellR33/shellenv/map.c
--- ShellR33/shellenv/map.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/shellenv/map.c	2009-10-14 16:36:30.000000000 -0700
@@ -2038,13 +2038,13 @@
     goto Done;
   }
 
-  Status = BS->HandleProtocol (Handle, &gEfiBlockIoProtocolGuid, &BlockIo);
+  Status = BS->HandleProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID **)&BlockIo);
   //
   // This is just for NT32, because fsntx has no block io protocol installed
   // but fsntx has installed simple file system protocol
   //
   if (EFI_ERROR (Status)) {
-    Status = BS->HandleProtocol (Handle, &gEfiSimpleFileSystemProtocolGuid, &BlockIo);
+    Status = BS->HandleProtocol (Handle, &gEfiSimpleFileSystemProtocolGuid, (VOID **)&BlockIo);
   }
 
   if (EFI_ERROR (Status)) {
diff --ignore-file-name-case -Naur ShellR33/shellenv/parsecmd.h GccShellR33/shellenv/parsecmd.h
--- ShellR33/shellenv/parsecmd.h	2006-06-12 23:18:21.000000000 -0700
+++ GccShellR33/shellenv/parsecmd.h	2009-11-05 13:49:56.000000000 -0800
@@ -103,4 +103,4 @@
   IN OUT SHELL_PARSED_ARGS    *args
   );
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/shellenv/protid.c GccShellR33/shellenv/protid.c
--- ShellR33/shellenv/protid.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/shellenv/protid.c	2009-09-22 15:37:05.000000000 -0700
@@ -1146,7 +1146,7 @@
 EFI_STATUS
 GetDriverName (
   EFI_HANDLE  DriverBindingHandle,
-  UINT8       *Language,
+  CHAR8       *Language,
   BOOLEAN     ImageName,
   CHAR16      **DriverName
   )
@@ -1539,7 +1539,7 @@
 
     DevicePath      = NULL;
     BestDeviceName  = NULL;
-    Status          = BS->HandleProtocol (Handle, &gEfiDevicePathProtocolGuid, &DevicePath);
+    Status          = BS->HandleProtocol (Handle, &gEfiDevicePathProtocolGuid, (VOID **)&DevicePath);
 
     Print (L"\n");
     PrintToken (STRING_TOKEN (STR_SHELLENV_PROTID_CONTROLLER_NAME), HiiEnvHandle);
diff --ignore-file-name-case -Naur ShellR33/ShellFull.inf GccShellR33/ShellFull.inf
--- ShellR33/ShellFull.inf	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/ShellFull.inf	2009-11-07 12:33:52.000000000 -0800
@@ -20,300 +20,310 @@
 #--*/
 
 [defines]
-BASE_NAME            = Shell
-FILE_GUID            = c57ad6b7-0515-40a8-9d21-551652854e37
+BASE_NAME            = ShellFull
+FILE_GUID            = 1903FB23-E526-4BDA-85E4-D68F2EEF0C20
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  Library\ShellDebug.c
-  Library\DPath.c
-  Library\Init.c
-  Library\Lock.c
-  Library\Str.c
-  Library\IO.c
-  Library\Mem.c
-  Library\Misc.c
-  Library\Data.c
-  Library\RtData.c
-  Library\ShellEnvInt.c
-  Library\Handle.c
-  Library\FileIO.c
-  Library\ConsistMapping.c
-  Library\CRC.c
-  Library\Event.c
-  Library\Perf.c
-  Library\VarCheck.c
-  Library\HiiSupport.c
-
-  newshell\NshellStrings.uni
-  newshell\init.c
-  newshell\nshell.h
-  newshell\fakehii.c
+  Library/ShellDebug.c
+  Library/DPath.c
+  Library/Init.c
+  Library/Lock.c
+  Library/Str.c
+  Library/IO.c
+  Library/Mem.c
+  Library/Misc.c
+  Library/Data.c
+  Library/RtData.c
+  Library/ShellEnvInt.c
+  Library/Handle.c
+  Library/FileIO.c
+  Library/ConsistMapping.c
+  Library/CRC.c
+  Library/Event.c
+  Library/Perf.c
+  Library/VarCheck.c
+  Library/HiiSupport.c
+
+  newshell/NshellStrings.uni
+  newshell/init.c
+  newshell/nshell.h
+  newshell/fakehii.c
+  newshell/DebugAssert.c
 
   ShCommonStrings.uni
-  shellenv\ShellenvHelpStrings.uni
-  shellenv\ShellenvStrings.uni
-  shellenv\ScriptCmdStrings.uni
-  shellenv\ConnectStrings.uni
-  shellenv\EchoStrings.uni
-  shellenv\HelpStrings.uni
-  shellenv\MapStrings.uni
-  shellenv\CdStrings.uni
-  shellenv\DhStrings.uni
-  
-  shellenv\cmddisp.c
-  shellenv\connect.c
-  shellenv\data.c
-  shellenv\exec.c
-  shellenv\init.c
-  shellenv\protid.c
-  shellenv\var.c
-  shellenv\conio.c
-  shellenv\consoleproxy.c
-  shellenv\handle.c
-  shellenv\dprot.c
-  shellenv\map.c
-  shellenv\marg.c
-  shellenv\batch.c
-  shellenv\if.c
-  shellenv\goto.c
-  shellenv\echo.c
-  shellenv\pause.c
-  shellenv\for.c
-  shellenv\wait.c
-  shellenv\help.c
-  shellenv\shelle.h
-  shellenv\shellenvguid.h
-  shellenv\parsecmd.c
-  shellenv\shift.c
+  shellenv/ShellenvHelpStrings.uni
+  shellenv/ShellenvStrings.uni
+  shellenv/ScriptCmdStrings.uni
+  shellenv/ConnectStrings.uni
+  shellenv/EchoStrings.uni
+  shellenv/HelpStrings.uni
+  shellenv/MapStrings.uni
+  shellenv/CdStrings.uni
+  shellenv/DhStrings.uni
+  
+  shellenv/cmddisp.c
+  shellenv/connect.c
+  shellenv/data.c
+  shellenv/exec.c
+  shellenv/init.c
+  shellenv/protid.c
+  shellenv/var.c
+  shellenv/conio.c
+  shellenv/consoleproxy.c
+  shellenv/handle.c
+  shellenv/dprot.c
+  shellenv/map.c
+  shellenv/marg.c
+  shellenv/batch.c
+  shellenv/if.c
+  shellenv/goto.c
+  shellenv/echo.c
+  shellenv/pause.c
+  shellenv/for.c
+  shellenv/wait.c
+  shellenv/help.c
+  shellenv/shelle.h
+  shellenv/shellenvguid.h
+  shellenv/parsecmd.c
+  shellenv/shift.c
  
-  unload\UnloadStrings.uni
-  unload\unload.c
+  unload/UnloadStrings.uni
+  unload/unload.c
   
-  attrib\AttribStrings.uni
-  attrib\attrib.c
-  attrib\attrib.h
-
-  cls\clsstrings.uni
-  cls\cls.c
-
-  cp\CpStrings.uni
-  cp\cp.h
-  cp\cp.c
+  attrib/AttribStrings.uni
+  attrib/attrib.c
+  attrib/attrib.h
+
+  cls/clsstrings.uni
+  cls/cls.c
+
+  cp/CpStrings.uni
+  cp/cp.h
+  cp/cp.c
  
-  date\DateStrings.uni
-  date\date.c
-  date\date.h
-
-  load\LoadStrings.uni
-  load\load.c
-  load\load.h
-
-  ls\LsStrings.uni
-  ls\ls.h
-  ls\ls.c
-
-  mkdir\MkdirStrings.uni
-  mkdir\mkdir.c
-  mkdir\mkdir.h
-
-  mv\MvStrings.uni
-  mv\mv.c
-  mv\mv.h
+  date/DateStrings.uni
+  date/date.c
+  date/date.h
+
+  load/LoadStrings.uni
+  load/load.c
+  load/load.h
+
+  ls/LsStrings.uni
+  ls/ls.h
+  ls/ls.c
+
+  mkdir/MkdirStrings.uni
+  mkdir/mkdir.c
+  mkdir/mkdir.h
+
+  mv/MvStrings.uni
+  mv/mv.c
+  mv/mv.h
  
-  reset\ResetStrings.uni
-  reset\reset.c
-  reset\reset.h
-  
-  rm\RmStrings.uni
-  rm\rm.h
-  rm\rm.c
-  
-  type\TypeStrings.uni
-  type\type.c
-  type\type.h
-  time\TimeStrings.uni
-  time\time.c
-  time\time.h
-
-  touch\TouchStrings.uni
-  touch\touch.c
-  touch\touch.h
-
-  vol\VolStrings.uni
-  vol\vol.c
-  vol\vol.h
-
-  ver\VerStrings.uni
-  ver\ver.c
-  ver\ver.h
-  
-  drivers\driversStrings.uni
-  drivers\drivers.c
-  drivers\drivers.h
-  
-  drvcfg\DrvcfgStrings.uni
-  drvcfg\drvcfg.c
-  drvcfg\drvcfg.h
+  reset/ResetStrings.uni
+  reset/reset.c
+  reset/reset.h
+  
+  rm/RmStrings.uni
+  rm/rm.h
+  rm/rm.c
+  
+  type/TypeStrings.uni
+  type/type.c
+  type/type.h
+  time/TimeStrings.uni
+  time/time.c
+  time/time.h
+
+  touch/TouchStrings.uni
+  touch/touch.c
+  touch/touch.h
+
+  vol/VolStrings.uni
+  vol/vol.c
+  vol/vol.h
+
+  ver/VerStrings.uni
+  ver/ver.c
+  ver/ver.h
+  
+  drivers/driversStrings.uni
+  drivers/drivers.c
+  drivers/drivers.h
+  
+  drvcfg/DrvcfgStrings.uni
+  drvcfg/drvcfg.c
+  drvcfg/drvcfg.h
         
-  drvdiag\DrvdiagStrings.uni
-  drvdiag\drvdiag.c
-  drvdiag\drvdiag.h
-  
-  comp\CompStrings.uni
-  comp\comp.c
-  
-  dblk\dblkStrings.uni
-  dblk\dblk.c
-  dblk\efidump.c
+  drvdiag/DrvdiagStrings.uni
+  drvdiag/drvdiag.c
+  drvdiag/drvdiag.h
+  
+  comp/CompStrings.uni
+  comp/comp.c
+  
+  dblk/dblkStrings.uni
+  dblk/dblk.c
+  dblk/efidump.c
  
-  devices\DevicesStrings.uni
-  devices\devices.c
+  devices/DevicesStrings.uni
+  devices/devices.c
   
-  devicetree\DevicetreeStrings.uni
-  devicetree\devicetree.c
+  devicetree/DevicetreeStrings.uni
+  devicetree/devicetree.c
   
-  dmem\MemStrings.uni
-  dmem\DebugStrings.uni  
-  dmem\mem.c
-  dmem\MemCommonPart.c
-  dmem\efidump.c  
-  
-  dmpstore\DmpstoreStrings.uni
-  dmpstore\dmpstore.c
-  
-  edit\EditStrings.uni
-  edit\main.c
-  edit\libFileBuffer.c
-  edit\libEditor.c
-  edit\libTitleBar.c
-  edit\libStatusBar.c
-  edit\libInputBar.c
-  edit\libMenuBar.c
-  edit\libMisc.c 
-  
-  eficompress\CompressStrings.uni
-  eficompress\compressMain.c
-  eficompress\compress.c   
-  
-  efidecompress\DecompressStrings.uni
-  efidecompress\decompress.c
-  
-  err\ErrStrings.uni
-  err\err.c
-  
-  guid\GuidStrings.uni
-  guid\guid.c
-  
-  hexedit\HexeditStrings.uni
-  hexedit\main.c
-  hexedit\libBufferImage.c
-  hexedit\libFileImage.c
-  hexedit\libDiskImage.c
-  hexedit\libMemImage.c
-  hexedit\libEditor.c
-  hexedit\libTitleBar.c
-  hexedit\libStatusBar.c
-  hexedit\libInputBar.c
-  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
-  
-  loadpcirom\LoadPciRomStrings.uni
-  loadpcirom\LoadPciRom.c
-  
-  mem\MemStrings.uni
-  mem\DebugStrings.uni  
-  mem\mm.c
-  mem\MemCommonPart.c
-  mem\efidump.c  
-  
-  memmap\memmapStrings.uni
-  memmap\memmap.c
-  
-  mm\MmStrings.uni
-  mm\mm.c
-  
-  mode\ModeStrings.uni
-  mode\mode.c
-  
-  mount\MountStrings.uni
-  mount\mount.c
-  
-  openinfo\OPeninfoStrings.uni
-  openinfo\openinfo.c
-
-  Ping\PingStrings.uni
-  Ping\Ping.c
-
-  pci\PciStrings.uni
-  pci\pci.c
-  pci\pci_class.c
-  
-  sermode\SermodeStrings.uni
-  sermode\sermode.c
-  
-  smbiosview\SmBiosViewStrings.uni
-  smbiosview\QueryTable.c
-  smbiosview\EventLogInfo.c
-  smbiosview\PrintInfo.c
-  smbiosview\LibSmbiosView.c
-  smbiosview\smbiosview.c
-  smbiosview\smbios.c
+  dmem/MemStrings.uni
+  dmem/DebugStrings.uni  
+  dmem/mem.c
+  dmem/MemCommonPart.c
+  dmem/efidump.c  
+  
+  dmpstore/DmpstoreStrings.uni
+  dmpstore/dmpstore.c
+  
+  edit/EditStrings.uni
+  edit/main.c
+  edit/libFileBuffer.c
+  edit/libEditor.c
+  edit/libTitleBar.c
+  edit/libStatusBar.c
+  edit/libInputBar.c
+  edit/libMenuBar.c
+  edit/libMisc.c 
+  
+  eficompress/CompressStrings.uni
+  eficompress/compressMain.c
+  eficompress/compress.c   
+  
+  efidecompress/DecompressStrings.uni
+  efidecompress/decompress.c
+  
+  err/ErrStrings.uni
+  err/err.c
+  
+  guid/GuidStrings.uni
+  guid/guid.c
+  
+  hexedit/HexeditStrings.uni
+  hexedit/main.c
+  hexedit/libBufferImage.c
+  hexedit/libFileImage.c
+  hexedit/libDiskImage.c
+  hexedit/libMemImage.c
+  hexedit/libEditor.c
+  hexedit/libTitleBar.c
+  hexedit/libStatusBar.c
+  hexedit/libInputBar.c
+  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
+  
+  loadpcirom/LoadPciRomStrings.uni
+  loadpcirom/LoadPciRom.c
+  
+  mem/MemStrings.uni
+  mem/DebugStrings.uni  
+  mem/mm.c
+  mem/MemCommonPart.c
+  mem/efidump.c  
+  
+  memmap/memmapStrings.uni
+  memmap/memmap.c
+  
+  mm/MmStrings.uni
+  mm/mm.c
+  
+  mode/ModeStrings.uni
+  mode/mode.c
+  
+  mount/MountStrings.uni
+  mount/mount.c
+  
+  openinfo/OPeninfoStrings.uni
+  openinfo/openinfo.c
+
+  Ping/PingStrings.uni
+  Ping/Ping.c
+
+  pci/PciStrings.uni
+  pci/pci.c
+  pci/pci_class.c
+  
+  sermode/SermodeStrings.uni
+  sermode/sermode.c
+  
+  smbiosview/SmBiosViewStrings.uni
+  smbiosview/QueryTable.c
+  smbiosview/EventLogInfo.c
+  smbiosview/PrintInfo.c
+  smbiosview/LibSmbiosView.c
+  smbiosview/smbiosview.c
+  smbiosview/smbios.c
   
-  stall\stallStrings.uni
-  stall\stall.c
+  stall/stallStrings.uni
+  stall/stall.c
   
-  telnetmgmt\TelnetMgmtStrings.uni
-  telnetmgmt\TelnetMgmt.c
+  telnetmgmt/TelnetMgmtStrings.uni
+  telnetmgmt/TelnetMgmt.c
   
-  tzone\TZoneStrings.uni
-  tzone\tzone.c
+  tzone/TZoneStrings.uni
+  tzone/tzone.c
 
 [sources.ia32]
-  ver\ia32\ver32.c
-  Library\ia32\math.c
-  Library\ia32\initplat.c
+  ver/ia32/ver32.c
+  Library/IA32/math.c
+  Library/IA32/initplat.c
+  Library/IA32/DivU64x32Remainder.S  | GCC
+  Library/IA32/LShiftU64.S           | GCC
+  Library/IA32/RShiftU64.S           | GCC
+  Library/IA32/MultU64x32.S          | GCC
 
 [sources.ipf]
-  ver\ipf\ver64.c
-  Library\ipf\math.c
-  Library\ipf\initplat.c
-  Library\ipf\palproc.s
-  Library\ipf\salpal.c
+  ver/ipf/ver64.c
+  Library/ipf/math.c
+  Library/ipf/initplat.c
+  Library/ipf/palproc.s
+  Library/ipf/salpal.c
 
 [sources.EBC]
-  ver\ebc\verEbc.c
-  Library\EBC\math.c
-  Library\EBC\initplat.c
+  ver/ebc/verEbc.c
+  Library/EBC/math.c
+  Library/EBC/initplat.c
 
 [sources.x64]
-  ver\ia32\ver32.c
-  Library\ipf\math.c
-  Library\ia32\initplat.c
+  ver/ia32/ver32.c
+  Library/ipf/math.c
+  Library/ia32/initplat.c
+
+[sources.ARM]
+  ver/ia32/ver32.c
+  Library/ipf/math.c
+  Library/ia32/initplat.c
 
 [includes.common]
   .
-  .\Inc
-  .\ver
-  .\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(EDK_SOURCE)\Foundation\Library\Dxe\Include
+  ./Inc
+  ./ver
+  ./Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(EDK_SOURCE)/Foundation/Library/Dxe/Include
   $(DEST_DIR)
 
 [libraries.common]
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/EventLogInfo.c GccShellR33/SmbiosView/EventLogInfo.c
--- ShellR33/SmbiosView/EventLogInfo.c	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/SmbiosView/EventLogInfo.c	2009-11-05 13:49:56.000000000 -0800
@@ -25,7 +25,7 @@
 #include "PrintInfo.h"
 #include "QueryTable.h"
 #include "EventLogInfo.h"
-#include "smbios.h"
+#include "Smbios.h"
 #include STRING_DEFINES_FILE
 
 VOID
@@ -37,7 +37,7 @@
   //
   // Print prompt
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ACCESS_METHOD), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ACCESS_METHOD), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
 
   //
@@ -45,30 +45,30 @@
   //
   switch (Key) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_EIGHT_BIT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_EIGHT_BIT), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TWO_EIGHT_BITS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TWO_EIGHT_BITS), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_SIXTEEN_BIT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_SIXTEEN_BIT), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MEM_MAPPED_PHYS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MEM_MAPPED_PHYS), gSmbiosHiiHandle);
     break;
 
   case 4:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_VIA_GENERAL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_VIA_GENERAL), gSmbiosHiiHandle);
     break;
 
   default:
     if (Key <= 0x7f) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE_ASSIGN), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE_ASSIGN), gSmbiosHiiHandle);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR_OEM), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR_OEM), gSmbiosHiiHandle);
     }
   }
 }
@@ -82,26 +82,26 @@
   //
   // Print prompt
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
 
   //
   // Print value info
   //
   if ((Key & 0x01) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID), gSmbiosHiiHandle);
   }
 
   if ((Key & 0x02) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_FULL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_FULL), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_NOT_FULL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_NOT_FULL), gSmbiosHiiHandle);
   }
 
   if ((Key & 0xFC) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_RES_BITS_NOT_ZERO), HiiHandle, Key & 0xFC);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_RES_BITS_NOT_ZERO), gSmbiosHiiHandle, Key & 0xFC);
   }
 }
 
@@ -114,20 +114,20 @@
   //
   // Print prompt
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_FORMAT), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_FORMAT), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
 
   //
   // Print value info
   //
   if (Key == 0x00) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER), gSmbiosHiiHandle);
   } else if (Key == 0x01) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER), gSmbiosHiiHandle);
   } else if (Key <= 0x7f) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR), gSmbiosHiiHandle);
   }
 }
 
@@ -137,19 +137,19 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_LEN), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_LEN), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_VAR_D), HiiHandle, Key & 0x7F);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_VAR_D), gSmbiosHiiHandle, Key & 0x7F);
 
   //
   // The most-significant bit of the field specifies
   // whether (0) or not (1) the record has been read
   //
   if ((Key & 0x80) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_READ), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_READ), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_NOT_READ), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_NOT_READ), gSmbiosHiiHandle);
   }
 }
 
@@ -160,7 +160,7 @@
 {
   LOG_HEADER_TYPE1_FORMAT *Header;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG), gSmbiosHiiHandle);
 
   //
   // Print Log Header Type1 Format info
@@ -169,27 +169,27 @@
 
   PrintToken (
     STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_OEM_RESERVED),
-    HiiHandle,
+    gSmbiosHiiHandle,
     Header->OEMReserved[0],
     Header->OEMReserved[1],
     Header->OEMReserved[2],
     Header->OEMReserved[3],
     Header->OEMReserved[4]
     );
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_TIME), HiiHandle, Header->METW);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_COUNT), HiiHandle, Header->MECI);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_ADDRESS), HiiHandle, Header->CMOSAddress);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_INDEX), HiiHandle, Header->CMOSBitIndex);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUM_STARTING_OFF), HiiHandle, Header->StartingOffset);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUN_BYTE_COUNT), HiiHandle, Header->ChecksumOffset);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_TIME), gSmbiosHiiHandle, Header->METW);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_COUNT), gSmbiosHiiHandle, Header->MECI);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_ADDRESS), gSmbiosHiiHandle, Header->CMOSAddress);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_INDEX), gSmbiosHiiHandle, Header->CMOSBitIndex);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUM_STARTING_OFF), gSmbiosHiiHandle, Header->StartingOffset);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUN_BYTE_COUNT), gSmbiosHiiHandle, Header->ChecksumOffset);
   PrintToken (
     STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_RESERVED),
-    HiiHandle,
+    gSmbiosHiiHandle,
     Header->OEMReserved[0],
     Header->OEMReserved[1],
     Header->OEMReserved[2]
     );
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_HEADER_REVISION), HiiHandle, Header->HeaderRevision);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_HEADER_REVISION), gSmbiosHiiHandle, Header->HeaderRevision);
 }
 
 VOID
@@ -201,20 +201,20 @@
   //
   // Print prompt
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER), gSmbiosHiiHandle);
 
   //
   // Print value info
   //
   if (LogHeaderFormat == 0x00) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER), gSmbiosHiiHandle);
   } else if (LogHeaderFormat == 0x01) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER), gSmbiosHiiHandle);
     DisplaySysEventLogHeaderType1 (LogHeader);
   } else if (LogHeaderFormat <= 0x7f) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FUTURE_ASSIGN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FUTURE_ASSIGN), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR), gSmbiosHiiHandle);
   }
 }
 
@@ -237,29 +237,29 @@
   //
   switch (ElVdfType) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_STD_FORMAT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_STD_FORMAT), gSmbiosHiiHandle);
     break;
 
   case 1:
     Word = (UINT16 *) (VarData + 1);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC), HiiHandle);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE), HiiHandle, *Word);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC), gSmbiosHiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE), gSmbiosHiiHandle, *Word);
     break;
 
   case 2:
     Dword = (UINT32 *) (VarData + 1);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), HiiHandle, *Dword);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), gSmbiosHiiHandle, *Dword);
     break;
 
   case 3:
     Word = (UINT16 *) (VarData + 1);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC), HiiHandle);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE), HiiHandle, *Word);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC), gSmbiosHiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE), gSmbiosHiiHandle, *Word);
     //
     // Followed by a multiple-event counter
     //
     Dword = (UINT32 *) (VarData + 1);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), HiiHandle, *Dword);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), gSmbiosHiiHandle, *Dword);
     break;
 
   case 4:
@@ -281,14 +281,14 @@
     // Followed by a multiple-event counter
     //
     Dword = (UINT32 *) (VarData + 1);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), HiiHandle, *Dword);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), gSmbiosHiiHandle, *Dword);
     break;
 
   default:
     if (ElVdfType <= 0x7F) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_UNUSED_AVAIL_FOR_ASSIGN), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_UNUSED_AVAIL_FOR_ASSIGN), gSmbiosHiiHandle);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_SYSTEM), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_SYSTEM), gSmbiosHiiHandle);
     }
   }
 }
@@ -309,7 +309,7 @@
   //
   // Print prompt
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG_2), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG_2), gSmbiosHiiHandle);
 
   //
   // Print Log info
@@ -336,19 +336,19 @@
     // (as read from CMOS) of the occurrence of the event
     // So Print as hex and represent decimal
     //
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_DATE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_DATE), gSmbiosHiiHandle);
     if (Log->Year >= 80 && Log->Year <= 99) {
       Print (L"19");
-    } else if (Log->Year >= 0 && Log->Year <= 79) {
+    } else if (Log->Year <= 79) {
       Print (L"20");
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ERROR), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ERROR), gSmbiosHiiHandle);
       continue;
     }
 
     PrintToken (
       STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TIME_SIX_VARS),
-      HiiHandle,
+      gSmbiosHiiHandle,
       Log->Year,
       Log->Month,
       Log->Day,
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/LibSmbiosView.c GccShellR33/SmbiosView/LibSmbiosView.c
--- ShellR33/SmbiosView/LibSmbiosView.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/SmbiosView/LibSmbiosView.c	2009-11-05 13:49:56.000000000 -0800
@@ -22,10 +22,10 @@
 --*/
 
 #include "EfiShellLib.h"
-#include "LIbSmbios.h"
+#include "LibSmbios.h"
 #include "LibSmbiosView.h"
 #include "smbiosview.h"
-#include "smbios.h"
+#include "Smbios.h"
 #include STRING_DEFINES_FILE
 
 STATIC UINT8                    mInit         = 0;
@@ -62,15 +62,15 @@
   //
   // Get SMBIOS table from System Configure table
   //
-  Status = LibGetSystemConfigurationTable (&gEfiSmbiosTableGuid, &mSmbiosTable);
+  Status = LibGetSystemConfigurationTable (&gEfiSmbiosTableGuid, (VOID **)&mSmbiosTable);
 
   if (mSmbiosTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_CANNOT_GET_TABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_CANNOT_GET_TABLE), gSmbiosHiiHandle);
     return EFI_NOT_FOUND;
   }
 
   if (EFI_ERROR (Status)) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_GET_TABLE_ERROR), HiiHandle, Status);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_GET_TABLE_ERROR), gSmbiosHiiHandle, Status);
     return Status;
   }
   //
@@ -200,7 +200,7 @@
   }
 
   if (Buffer == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUFF_SPEC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUFF_SPEC), gSmbiosHiiHandle);
     return DMI_INVALID_HANDLE;
   }
 
@@ -342,7 +342,7 @@
 {
   CHAR8 *String;
   if (Buffer == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUF_SPEC_WHEN_STRUCT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUF_SPEC_WHEN_STRUCT), gSmbiosHiiHandle);
     return ;
   }
   //
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/PrintInfo.c GccShellR33/SmbiosView/PrintInfo.c
--- ShellR33/SmbiosView/PrintInfo.c	2008-10-06 00:03:04.000000000 -0700
+++ GccShellR33/SmbiosView/PrintInfo.c	2009-11-05 13:49:56.000000000 -0800
@@ -26,7 +26,7 @@
 #include "LibSmbiosView.h"
 #include "QueryTable.h"
 #include "EventLogInfo.h"
-#include "smbios.h"
+#include "Smbios.h"
 #include STRING_DEFINES_FILE
 
 //
@@ -70,17 +70,17 @@
 
 #define PrintBitField(pStruct, type, element, size) \
   do { \
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), HiiHandle); \
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), gSmbiosHiiHandle); \
     APrint (#element); \
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SIZE), HiiHandle, size); \
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SIZE), gSmbiosHiiHandle, size); \
     DumpHex (0, 0, size, &(pStruct->type->element)); \
   } while (0);
 
 #define PrintSmbiosBitField(pStruct, startaddress, element, size) \
   do { \
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), HiiHandle); \
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), gSmbiosHiiHandle); \
     APrint (#element); \
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SIZE), HiiHandle, size); \
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SIZE), gSmbiosHiiHandle, size); \
     DumpHex (0, 0, size, startaddress); \
   } while (0);
 
@@ -153,7 +153,7 @@
   UINT8 InAnchor[6];
 
   if (SmbiosTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SMBIOSTABLE_NULL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SMBIOSTABLE_NULL), gSmbiosHiiHandle);
     return ;
   }
 
@@ -162,29 +162,29 @@
   }
 
   if (Option >= SHOW_NORMAL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_SIGN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_SIGN), gSmbiosHiiHandle);
     MemToString (Anchor, SmbiosTable->AnchorString, 4);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ANCHOR_STR), HiiHandle, Anchor);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ANCHOR_STR), gSmbiosHiiHandle, Anchor);
     PrintToken (
       STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EPS_CHECKSUM),
-      HiiHandle,
+      gSmbiosHiiHandle,
       SmbiosTable->EntryPointStructureChecksum
       );
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_LEN), HiiHandle, SmbiosTable->EntryPointLength);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_LEN), gSmbiosHiiHandle, SmbiosTable->EntryPointLength);
     PrintToken (
       STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VERSION),
-      HiiHandle,
+      gSmbiosHiiHandle,
       SmbiosTable->MajorVersion,
       SmbiosTable->MinorVersion
       );
     PrintToken (
       STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NUMBER_STRUCT),
-      HiiHandle,
+      gSmbiosHiiHandle,
       SmbiosTable->NumberOfSmbiosStructures
       );
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MAX_STRUCT_SIZE), HiiHandle, SmbiosTable->MaxStructureSize);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TABLE_ADDR), HiiHandle, SmbiosTable->TableAddress);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TABLE_LENGTH), HiiHandle, SmbiosTable->TableLength);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MAX_STRUCT_SIZE), gSmbiosHiiHandle, SmbiosTable->MaxStructureSize);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TABLE_ADDR), gSmbiosHiiHandle, SmbiosTable->TableAddress);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TABLE_LENGTH), gSmbiosHiiHandle, SmbiosTable->TableLength);
 
   }
   //
@@ -193,17 +193,17 @@
   if (Option >= SHOW_DETAIL) {
     PrintToken (
       STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_REVISION),
-      HiiHandle,
+      gSmbiosHiiHandle,
       SmbiosTable->EntryPointRevision
       );
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BCD_REVISION), HiiHandle, SmbiosTable->SmbiosBcdRevision);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BCD_REVISION), gSmbiosHiiHandle, SmbiosTable->SmbiosBcdRevision);
     //
     // Since raw data is not string, add a NULL terminater.
     //
     MemToString (InAnchor, SmbiosTable->IntermediateAnchorString, 5);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR), HiiHandle, InAnchor);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM), HiiHandle, SmbiosTable->IntermediateChecksum);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR), gSmbiosHiiHandle, InAnchor);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM), gSmbiosHiiHandle, SmbiosTable->IntermediateChecksum);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA), gSmbiosHiiHandle);
     DumpHex (2, 0, 5, SmbiosTable->FormattedArea);
   }
 
@@ -247,8 +247,8 @@
   // Display structure header
   //
   DisplayStructureTypeInfo (pStruct->Hdr->Type, SHOW_DETAIL);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN), HiiHandle, pStruct->Hdr->Length);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE), HiiHandle, pStruct->Hdr->Handle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN), gSmbiosHiiHandle, pStruct->Hdr->Length);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE), gSmbiosHiiHandle, pStruct->Hdr->Handle);
 
   if (Option == SHOW_OUTLINE) {
     return EFI_SUCCESS;
@@ -263,7 +263,7 @@
     PrintPendingString (pStruct, Type0, BiosVersion);
     PrintStructValue (pStruct, Type0, BiosSegment);
     PrintPendingString (pStruct, Type0, BiosReleaseDate);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE), HiiHandle, 64 * (pStruct->Type0->BiosSize + 1));
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE), gSmbiosHiiHandle, 64 * (pStruct->Type0->BiosSize + 1));
 
     if (Option < SHOW_DETAIL) {
       PrintStructValueH (pStruct, Type0, BiosCharacteristics);
@@ -325,13 +325,13 @@
     PrintPendingString (pStruct, Type3, Version);
     PrintPendingString (pStruct, Type3, SerialNumber);
     PrintPendingString (pStruct, Type3, AssetTag);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE), gSmbiosHiiHandle);
     DisplaySystemEnclosureStatus (pStruct->Type3->BootupState, Option);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE), gSmbiosHiiHandle);
     DisplaySystemEnclosureStatus (pStruct->Type3->PowerSupplyState, Option);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE), gSmbiosHiiHandle);
     DisplaySystemEnclosureStatus (pStruct->Type3->ThermalState, Option);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SECURITY_STATUS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SECURITY_STATUS), gSmbiosHiiHandle);
     DisplaySESecurityStatus (pStruct->Type3->SecurityStatus, Option);
     PrintBitField (pStruct, Type3, OemDefined, 4);
     break;
@@ -384,9 +384,9 @@
 
       DisplayMcErrorDetectMethod (pStruct->Type5->ErrDetectMethod, Option);
       DisplayMcErrorCorrectCapability (pStruct->Type5->ErrCorrectCapability, Option);
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SUPOPRT), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SUPOPRT), gSmbiosHiiHandle);
       DisplayMcInterleaveSupport (pStruct->Type5->SupportInterleave, Option);
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CURRENT), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CURRENT), gSmbiosHiiHandle);
       DisplayMcInterleaveSupport (pStruct->Type5->CurrentInterleave, Option);
       DisplayMaxMemoryModuleSize (pStruct->Type5->MaxMemoryModuleSize, SlotNum, Option);
       DisplayMcMemorySpeeds (pStruct->Type5->SupportSpeed, Option);
@@ -409,9 +409,9 @@
     DisplayMmBankConnections (pStruct->Type6->BankConnections, Option);
     PrintStructValue (pStruct, Type6, CurrentSpeed);
     DisplayMmMemoryType (pStruct->Type6->CurrentMemoryType, Option);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INSTALLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INSTALLED), gSmbiosHiiHandle);
     DisplayMmMemorySize (pStruct->Type6->InstalledSize, Option);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED), gSmbiosHiiHandle);
     DisplayMmMemorySize (pStruct->Type6->EnabledSize, Option);
     DisplayMmErrorStatus (pStruct->Type6->ErrorStatus, Option);
     break;
@@ -441,7 +441,7 @@
     Print (L"Internal ");
     DisplayPortConnectorType (pStruct->Type8->InternalConnectorType, Option);
     PrintPendingString (pStruct, Type8, ExternalReferenceDesignator);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EXTERNAL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EXTERNAL), gSmbiosHiiHandle);
     DisplayPortConnectorType (pStruct->Type8->ExternalConnectorType, Option);
     DisplayPortType (pStruct->Type8->PortType, Option);
     break;
@@ -478,7 +478,7 @@
       NumOfDevice = (pStruct->Type10->Hdr.Length - sizeof (SMBIOS_HEADER)) / (2 * sizeof (UINT8));
       for (Index = 0; Index < NumOfDevice; Index++) {
         DisplayOnboardDeviceTypes (pStruct->Type10->Device[Index].DeviceType, Option);
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DESC_STRING), HiiHandle);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DESC_STRING), gSmbiosHiiHandle);
         APrint (LibGetSmbiosString (pStruct, pStruct->Type10->Device[Index].DescriptionString));
       }
     }
@@ -539,7 +539,7 @@
         // Display all Event Log type descriptors supported by system
         //
         for (Index = 0; Index < Count; Index++, Ptr++) {
-          PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SUPOPRTED_EVENT), HiiHandle, Index + 1);
+          PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SUPOPRTED_EVENT), gSmbiosHiiHandle, Index + 1);
           DisplaySELTypes (Ptr->LogType, Option);
           DisplaySELVarDataFormatType (Ptr->DataFormatType, Option);
         }
@@ -557,7 +557,7 @@
           default:
             PrintToken (
               STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ACCESS_METHOD_NOT_SUPOPRTED),
-              HiiHandle,
+              gSmbiosHiiHandle,
               pStruct->Type15->AccessMethod
               );
             return EFI_UNSUPPORTED;
@@ -788,7 +788,7 @@
     break;
 
   case 31:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE31), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE31), gSmbiosHiiHandle);
     break;
 
   case 32:
@@ -849,9 +849,9 @@
       Count = pStruct->Type37->MemoryDeviceCount;
       Ptr   = pStruct->Type37->MemoryDevice;
       for (Index = 0; Index < Count; Index++) {
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_DEVICE), HiiHandle, Index + 1);
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DEV_LOAD), HiiHandle, Ptr->DeviceLoad);
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DEV_HANDLE), HiiHandle, Ptr->DeviceHandle);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_DEVICE), gSmbiosHiiHandle, Index + 1);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DEV_LOAD), gSmbiosHiiHandle, Ptr->DeviceLoad);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DEV_HANDLE), gSmbiosHiiHandle, Ptr->DeviceHandle);
       }
     }
     break;
@@ -906,9 +906,9 @@
       
       for (Index = 0; Index < NumberOfEntries; Index++) {
         EntryLength = Entries->EntryLength;
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTRYLEN), HiiHandle, EntryLength);
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDHANDLE), HiiHandle, Entries->ReferencedHandle);
-        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDOFFSET), HiiHandle, Entries->ReferencedOffset);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTRYLEN), gSmbiosHiiHandle, EntryLength);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDHANDLE), gSmbiosHiiHandle, Entries->ReferencedHandle);
+        PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDOFFSET), gSmbiosHiiHandle, Entries->ReferencedOffset);
         PrintSmbiosString (pStruct, Entries->EntryString, String);
         PrintSmbiosBitField (pStruct, Entries->Value, Value, EntryLength - 5);
         Entries = (ADDITIONAL_INFORMATION_ENTRY *) ((UINT8 *)Entries + EntryLength);
@@ -929,15 +929,15 @@
     break;
 
   case 126:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INACTIVE_STRUCT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INACTIVE_STRUCT), gSmbiosHiiHandle);
     break;
 
   case 127:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_THIS_STRUCT_END_TABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_THIS_STRUCT_END_TABLE), gSmbiosHiiHandle);
     break;
 
   default:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE_UNDEFINED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE_UNDEFINED), gSmbiosHiiHandle);
     break;
   }
 
@@ -953,7 +953,7 @@
   //
   // Print header
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR), gSmbiosHiiHandle);
   //
   // print option
   //
@@ -965,137 +965,137 @@
   //   are designed not to deal with UINT64
   //
   if (BIT (chara, 0) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 1) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 2) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN_BIT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN_BIT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 3) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_NOT_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_NOT_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 4) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ISA_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ISA_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 5) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MSA_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MSA_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 6) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EISA_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EISA_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 7) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PCI_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PCI_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 8) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PC_CARD_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PC_CARD_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 9) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PLUG_PLAY_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PLUG_PLAY_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 10) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_APM_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_APM_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 11) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_UPGRADEABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_UPGRADEABLE), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 12) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_SHADOWING), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_SHADOWING), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 13) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VESA_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VESA_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 14) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ECSD_SUPPORT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ECSD_SUPPORT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 15) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_FORM_CD_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_FORM_CD_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 16) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SELECTED_BOOT_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SELECTED_BOOT_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 17) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_ROM_SOCKETED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_ROM_SOCKETED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 18) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_FROM_PC_CARD), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_FROM_PC_CARD), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 19) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EDD_ENHANCED_DRIVER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_EDD_ENHANCED_DRIVER), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 20) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_NEC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_NEC), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 21) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_TOSHIBA), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_TOSHIBA), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 22) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FLOPPY_SERVICES_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FLOPPY_SERVICES_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 23) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_POINT_TWO_MB), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_POINT_TWO_MB), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 24) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_720_KB), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_720_KB), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 25) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TWO_POINT_EIGHT_EIGHT_MB), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TWO_POINT_EIGHT_EIGHT_MB), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 26) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PRINT_SCREEN_SUPPORT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PRINT_SCREEN_SUPPORT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 27) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_SERV_SUPPORT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_SERV_SUPPORT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 28) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SERIAL_SERVICES_SUPPORT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SERIAL_SERVICES_SUPPORT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 29) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PRINTER_SERVICES_SUPPORT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PRINTER_SERVICES_SUPPORT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 30) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MONO_VIDEO_SUPPORT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MONO_VIDEO_SUPPORT), gSmbiosHiiHandle);
   }
 
   if (BIT (chara, 31) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NEC_PC_98), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NEC_PC_98), gSmbiosHiiHandle);
   }
   //
   // Just print the reserved
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_32_47), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_48_64), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_32_47), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_48_64), gSmbiosHiiHandle);
 }
 
 VOID
@@ -1104,7 +1104,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION), gSmbiosHiiHandle);
   //
   // Print option
   //
@@ -1114,35 +1114,35 @@
   // check bit and print
   //
   if (BIT (byte1, 0) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ACPI_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ACPI_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 1) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_USB_LEGACY_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_USB_LEGACY_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 2) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_AGP_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_AGP_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 3) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_I2O_BOOT_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_I2O_BOOT_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 4) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LS_120_BOOT_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LS_120_BOOT_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 5) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ATAPI_ZIP_DRIVE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ATAPI_ZIP_DRIVE), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 6) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_1394_BOOT_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_1394_BOOT_SUPPORTED), gSmbiosHiiHandle);
   }
 
   if (BIT (byte1, 7) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SMART_BATTERY_SUPPORTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SMART_BATTERY_SUPPORTED), gSmbiosHiiHandle);
   }
 }
 
@@ -1152,21 +1152,21 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION_2), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION_2), gSmbiosHiiHandle);
   //
   // Print option
   //
   PRINT_INFO_OPTION (byte2, Option);
 
   if (BIT (byte2, 0) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_BOOT_SPEC_SUPP), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_BOOT_SPEC_SUPP), gSmbiosHiiHandle);
   }
 
   if (BIT (byte2, 1) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FUNCTION_KEY_INIT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FUNCTION_KEY_INIT), gSmbiosHiiHandle);
   }
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE), gSmbiosHiiHandle);
 }
 
 VOID
@@ -1178,7 +1178,7 @@
   //
   // Print prompt message
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), gSmbiosHiiHandle);
   //
   // Print option
   //
@@ -1189,11 +1189,11 @@
   //
   switch (Family) {
   case 0x01:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER), gSmbiosHiiHandle);
     break;
 
   case 0x02:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
 
   case 0x03:
@@ -1205,11 +1205,11 @@
     break;
 
   case 0x05:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR), gSmbiosHiiHandle);
     break;
 
   case 0x06:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTEL486_PROCESSOR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INTEL486_PROCESSOR), gSmbiosHiiHandle);
     break;
 
   case 0x07:
@@ -1229,35 +1229,35 @@
     break;
 
   case 0x0B:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x0C:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PRO_PROC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PRO_PROC), gSmbiosHiiHandle);
     break;
 
   case 0x0D:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_II_PROC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_II_PROC), gSmbiosHiiHandle);
     break;
 
   case 0x0E:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_MMX), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_MMX), gSmbiosHiiHandle);
     break;
 
   case 0x0F:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CELERON_PROC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CELERON_PROC), gSmbiosHiiHandle);
     break;
 
   case 0x10:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_XEON_PROC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_XEON_PROC), gSmbiosHiiHandle);
     break;
 
   case 0x11:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_PROC), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_PROC), gSmbiosHiiHandle);
     break;
 
   case 0x12:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_M1_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_M1_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x18:
@@ -1265,27 +1265,27 @@
     break;
 
   case 0x19:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_K5_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_K5_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x20:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x21:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_601), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_601), gSmbiosHiiHandle);
     break;
 
   case 0x22:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603), gSmbiosHiiHandle);
     break;
 
   case 0x23:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603_PLUS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603_PLUS), gSmbiosHiiHandle);
     break;
 
   case 0x24:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_604), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_PC_604), gSmbiosHiiHandle);
     break;
 
   case 0x25:
@@ -1301,7 +1301,7 @@
     break;
 
   case 0x30:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ALPHA_FAMILY_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ALPHA_FAMILY_2), gSmbiosHiiHandle);
     break;
 
   case 0x31:
@@ -1333,7 +1333,7 @@
     break;
 
   case 0x40:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MIPS_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MIPS_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x41:
@@ -1357,7 +1357,7 @@
     break;
 
   case 0x50:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SPARC_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SPARC_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x51:
@@ -1393,7 +1393,7 @@
     break;
 
   case 0x60:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_68040_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_68040_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x61:
@@ -1417,7 +1417,7 @@
     break;
 
   case 0x70:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HOBBIT_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HOBBIT_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0x78:
@@ -1433,7 +1433,7 @@
     break;
 
   case 0x80:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WEITEK), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WEITEK), gSmbiosHiiHandle);
     break;
 
   case 0x82:
@@ -1469,15 +1469,15 @@
     break;
 
   case 0x90:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PA_RISC_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PA_RISC_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0xA0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_V30_FAMILY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_V30_FAMILY), gSmbiosHiiHandle);
     break;
 
   case 0xB0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_XEON), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_XEON), gSmbiosHiiHandle);
     break;
 
   case 0xC8:
@@ -1532,13 +1532,13 @@
     // use if/else to check value.
     //
     if (Family >= 0x13 && Family <= 0x17) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_M1), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_M1), gSmbiosHiiHandle);
     } else if (Family >= 0x1A && Family <= 0x1F) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5), gSmbiosHiiHandle);
     } else if (Family >= 0xB1 && Family <= 0xBF) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM), gSmbiosHiiHandle);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), gSmbiosHiiHandle);
     }
   }
   //
@@ -1555,7 +1555,7 @@
   //
   // Print prompt message
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), gSmbiosHiiHandle);
   
   //
   // Print option
@@ -1607,7 +1607,7 @@
       break;
     
     default:
-     PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), HiiHandle);
+     PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), gSmbiosHiiHandle);
   }
   
 }
@@ -1643,43 +1643,43 @@
 
 --*/
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROC_INFO), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROC_INFO), gSmbiosHiiHandle);
   //
   // Print option
   //
   PRINT_INFO_OPTION (Voltage, Option);
 
   if (BIT (Voltage, 7) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE), HiiHandle, (Voltage - 0x80));
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE), gSmbiosHiiHandle, (Voltage - 0x80));
   } else {
     if (BIT (Voltage, 0) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED), gSmbiosHiiHandle);
     }
 
     if (BIT (Voltage, 1) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED), gSmbiosHiiHandle);
     }
 
     if (BIT (Voltage, 2) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_29V_SUPPORTED), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_29V_SUPPORTED), gSmbiosHiiHandle);
     }
     //
     // check the reserved zero bits:
     //
     if (BIT (Voltage, 3) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT3_NOT_ZERO), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT3_NOT_ZERO), gSmbiosHiiHandle);
     }
 
     if (BIT (Voltage, 4) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT4_NOT_ZERO), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT4_NOT_ZERO), gSmbiosHiiHandle);
     }
 
     if (BIT (Voltage, 5) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT5_NOT_ZERO), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT5_NOT_ZERO), gSmbiosHiiHandle);
     }
 
     if (BIT (Voltage, 6) != 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT6_NOT_ZERO), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIT6_NOT_ZERO), gSmbiosHiiHandle);
     }
   }
 }
@@ -1714,56 +1714,56 @@
 
 --*/
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
 
   if (BIT (Status, 7) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT7), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT7), gSmbiosHiiHandle);
   } else if (BIT (Status, 5) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT5), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT5), gSmbiosHiiHandle);
   } else if (BIT (Status, 4) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT4), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT4), gSmbiosHiiHandle);
   } else if (BIT (Status, 3) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT3), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_BIT3), gSmbiosHiiHandle);
   }
   //
   // Check BIT 6
   //
   if (BIT (Status, 6) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED), gSmbiosHiiHandle);
   }
   //
   // Check BITs 2:0
   //
   switch (Status & 0x07) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_DISABLED_BY_USER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_DISABLED_BY_USER), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_DIABLED_BY_BIOS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_DIABLED_BY_BIOS), gSmbiosHiiHandle);
     break;
 
   case 4:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_IDLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CPU_IDLE), gSmbiosHiiHandle);
     break;
 
   case 7:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHERS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHERS), gSmbiosHiiHandle);
     break;
 
   default:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED), gSmbiosHiiHandle);
   }
 }
 
@@ -1775,16 +1775,16 @@
   )
 {
   UINTN MaxSize;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SIZE_LARGEST_MEM), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SIZE_LARGEST_MEM), gSmbiosHiiHandle);
   //
   // MaxSize is determined by follow formula
   //
   MaxSize = (UINTN) 1 << Size;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB), HiiHandle, MaxSize);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB), gSmbiosHiiHandle, MaxSize);
 
   if (Option >= SHOW_DETAIL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MAX_AMOUNT_MEM), HiiHandle);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB), HiiHandle, MaxSize, SlotNum, MaxSize * SlotNum);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MAX_AMOUNT_MEM), gSmbiosHiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB), gSmbiosHiiHandle, MaxSize, SlotNum, MaxSize * SlotNum);
   }
 }
 
@@ -1796,7 +1796,7 @@
   )
 {
   UINT8 Index;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HANDLES_CONTROLLED), HiiHandle, SlotNum);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HANDLES_CONTROLLED), gSmbiosHiiHandle, SlotNum);
 
   if (Option >= SHOW_DETAIL) {
     //
@@ -1806,9 +1806,9 @@
       return ;
     }
 
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HANDLES_LIST_CONTROLLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HANDLES_LIST_CONTROLLED), gSmbiosHiiHandle);
     for (Index = 0; Index < SlotNum; Index++) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HANDLE), HiiHandle, Index + 1, Handles[Index]);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HANDLE), gSmbiosHiiHandle, Index + 1, Handles[Index]);
     }
   }
 }
@@ -1824,7 +1824,7 @@
   UINT8 High;
   UINT8 Low;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_CONNECTIONS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_CONNECTIONS), gSmbiosHiiHandle);
   //
   // Print option
   //
@@ -1837,15 +1837,15 @@
   Low   = (UINT8) (BankConnections & 0x0F);
   if (High != 0xF) {
     if (Low != 0xF) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_RAS), HiiHandle, High, Low, High, Low);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_RAS), gSmbiosHiiHandle, High, Low, High, Low);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_RAS_2), HiiHandle, High, High);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_RAS_2), gSmbiosHiiHandle, High, High);
     }
   } else {
     if (Low != 0xF) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_RAS_2), HiiHandle, Low, Low);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BANK_RAS_2), gSmbiosHiiHandle, Low, Low);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NO_BANKS_CONNECTED), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NO_BANKS_CONNECTED), gSmbiosHiiHandle);
     }
   }
 }
@@ -1874,7 +1874,7 @@
 --*/
 {
   UINT8 Value;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEMORY_SIZE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEMORY_SIZE), gSmbiosHiiHandle);
   //
   // Print option
   //
@@ -1885,19 +1885,19 @@
   //
   Value = (UINT8) (Size & 0x7F);
   if (Value == 0x7D) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE_NOT_DETERMINABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE_NOT_DETERMINABLE), gSmbiosHiiHandle);
   } else if (Value == 0x7E) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MODULE_INSTALLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MODULE_INSTALLED), gSmbiosHiiHandle);
   } else if (Value == 0x7F) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_INSTALLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_INSTALLED), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE), HiiHandle, 1 << Value);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE), gSmbiosHiiHandle, 1 << Value);
   }
 
   if (BIT (Size, 7) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK), gSmbiosHiiHandle);
   }
 }
 
@@ -1929,7 +1929,7 @@
   //
   DisplaySystemSlotType (SlotType, Option);
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_ID), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_ID), gSmbiosHiiHandle);
   //
   // print option
   //
@@ -1940,11 +1940,11 @@
   // Slot Type: MCA
   //
   case 0x04:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN), gSmbiosHiiHandle);
     if (SlotId > 0 && SlotId < 15) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D), HiiHandle, SlotId);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D), gSmbiosHiiHandle, SlotId);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15), gSmbiosHiiHandle);
     }
     break;
 
@@ -1952,11 +1952,11 @@
   // EISA
   //
   case 0x05:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LOGICAL_EISA_NUM), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LOGICAL_EISA_NUM), gSmbiosHiiHandle);
     if (SlotId > 0 && SlotId < 15) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D), HiiHandle, SlotId);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D), gSmbiosHiiHandle, SlotId);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15), gSmbiosHiiHandle);
     }
     break;
 
@@ -1964,28 +1964,28 @@
   // Slot Type: PCI
   //
   case 0x06:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT), HiiHandle, SlotId);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT), gSmbiosHiiHandle, SlotId);
     break;
 
   //
   // PCMCIA
   //
   case 0x07:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_IDENTIFIES_ADAPTER_NUM), HiiHandle, SlotId);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_IDENTIFIES_ADAPTER_NUM), gSmbiosHiiHandle, SlotId);
     break;
 	
   //
   // Slot Type: PCI-E
   //
   case 0xA5:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT), HiiHandle, SlotId);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT), gSmbiosHiiHandle, SlotId);
     break;
 
   default:
     if (SlotType >= 0x0E && SlotType <= 0x12) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT), HiiHandle, SlotId);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT), gSmbiosHiiHandle, SlotId);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_SLOT_ID), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_SLOT_ID), gSmbiosHiiHandle);
     }
   }
 }
@@ -1996,7 +1996,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_BOOT_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_BOOT_STATUS), gSmbiosHiiHandle);
   //
   // Print option
   //
@@ -2006,31 +2006,31 @@
   // Check value and print
   //
   if (Parameter == 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NO_ERRORS_DETECTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NO_ERRORS_DETECTED), gSmbiosHiiHandle);
   } else if (Parameter == 1) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NO_BOOTABLE_MEDIA), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NO_BOOTABLE_MEDIA), gSmbiosHiiHandle);
   } else if (Parameter == 2) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NORMAL_OP_SYSTEM), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NORMAL_OP_SYSTEM), gSmbiosHiiHandle);
   } else if (Parameter == 3) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FIRMWARE_DETECTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FIRMWARE_DETECTED), gSmbiosHiiHandle);
   } else if (Parameter == 4) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM), gSmbiosHiiHandle);
   } else if (Parameter == 5) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_USER_REQUESTED_BOOT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_USER_REQUESTED_BOOT), gSmbiosHiiHandle);
   } else if (Parameter == 6) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_SECURITY_VIOLATION), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_SECURITY_VIOLATION), gSmbiosHiiHandle);
   } else if (Parameter == 7) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PREV_REQ_IMAGE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PREV_REQ_IMAGE), gSmbiosHiiHandle);
   } else if (Parameter == 8) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER), gSmbiosHiiHandle);
   } else if (Parameter >= 9 && Parameter <= 127) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FUTURE_ASSIGNMENT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RSVD_FUTURE_ASSIGNMENT), gSmbiosHiiHandle);
   } else if (Parameter >= 128 && Parameter <= 191) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VENDOR_OEM_SPECIFIC), HiiHandle);
-  } else if (Parameter >= 192 && Parameter <= 255) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PRODUCT_SPEC_IMPLMENTATION), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_VENDOR_OEM_SPECIFIC), gSmbiosHiiHandle);
+  } else if (Parameter >= 192) {
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PRODUCT_SPEC_IMPLMENTATION), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_VALUE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ERROR_VALUE), gSmbiosHiiHandle);
   }
 }
 //
@@ -2062,7 +2062,7 @@
   UINTN Month;
   UINTN Year;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SBDS_MANUFACTURE_DATE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SBDS_MANUFACTURE_DATE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Date, Option);
   //
   // Print date
@@ -2070,7 +2070,7 @@
   Day   = Date & 0x001F;
   Month = (Date & 0x00E0) >> 5;
   Year  = ((Date & 0xFF00) >> 8) + 1980;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MONTH_DAY_YEAR), HiiHandle, Day, Month, Year);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MONTH_DAY_YEAR), gSmbiosHiiHandle, Day, Month, Year);
 
 }
 //
@@ -2111,65 +2111,65 @@
 {
   UINTN Temp;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_RESET_CAPABILITIES), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_RESET_CAPABILITIES), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Reset, Option);
 
   //
   // Check reserved bits 7:6
   //
   if ((Reset & 0xC0) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO), gSmbiosHiiHandle);
   }
   //
   // Watch dog
   //
   if (BIT (Reset, 5) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER_2), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_NOT_CONTAIN_TIMER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_NOT_CONTAIN_TIMER), gSmbiosHiiHandle);
   }
   //
   // Boot Option on Limit
   //
   Temp = (Reset & 0x18) >> 3;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION_LIMIT), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION_LIMIT), gSmbiosHiiHandle);
   switch (Temp) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM_2), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_UTIL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_UTIL), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT_BITS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT_BITS), gSmbiosHiiHandle);
     break;
   }
   //
   // Boot Option
   //
   Temp = (Reset & 0x06) >> 1;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION), gSmbiosHiiHandle);
   switch (Temp) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM_2), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_UTIL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SYSTEM_UTIL), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT), gSmbiosHiiHandle);
     break;
   }
   //
@@ -2224,95 +2224,95 @@
 {
   UINTN Temp;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HARDWARE_SECURITY_SET), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_HARDWARE_SECURITY_SET), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Settings, Option);
 
   //
   // Power-on Password Status
   //
   Temp = (Settings & 0xC0) >> 6;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_ON_PASSWORD), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_ON_PASSWORD), gSmbiosHiiHandle);
   switch (Temp) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
   }
   //
   // Keyboard Password Status
   //
   Temp = (Settings & 0x30) >> 4;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_PASSWORD), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_PASSWORD), gSmbiosHiiHandle);
   switch (Temp) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
   }
   //
   // Administrator Password Status
   //
   Temp = (Settings & 0x0C) >> 2;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ADMIN_PASSWORD_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ADMIN_PASSWORD_STATUS), gSmbiosHiiHandle);
   switch (Temp) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
   }
   //
   // Front Panel Reset Status
   //
   Temp = Settings & 0x3;
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FRONT_PANEL_RESET), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_FRONT_PANEL_RESET), gSmbiosHiiHandle);
   switch (Temp) {
   case 0:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DISABLED), gSmbiosHiiHandle);
     break;
 
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
   }
 }
@@ -2325,30 +2325,30 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CONNECTIONS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CONNECTIONS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Connections, Option);
 
   //
   // Check reserved bits 7:2
   //
   if ((Connections & 0xFC) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO_2), gSmbiosHiiHandle);
   }
   //
   // Outbound Connection
   //
   if (BIT (Connections, 1) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OUTBOUND_CONN_ENABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OUTBOUND_CONN_ENABLED), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTUBOUND_CONN_DISABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTUBOUND_CONN_DISABLED), gSmbiosHiiHandle);
   }
   //
   // Inbound Connection
   //
   if (BIT (Connections, 0) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INBOIUND_CONN_ENABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INBOIUND_CONN_ENABLED), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INBOUND_CONN_DISABLED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INBOUND_CONN_DISABLED), gSmbiosHiiHandle);
   }
 }
 //
@@ -2362,141 +2362,141 @@
 {
   UINTN Temp;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_CHAR), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_CHAR), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Characteristics, Option);
 
   //
   // Check reserved bits 15:14
   //
   if ((Characteristics & 0xC000) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_15_14_RSVD), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_15_14_RSVD), gSmbiosHiiHandle);
   }
   //
   // Bits 13:10 - DMTF Power Supply Type
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TYPE), gSmbiosHiiHandle);
   Temp = (Characteristics & 0x1C00) << 10;
   switch (Temp) {
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LINEAR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_LINEAR), gSmbiosHiiHandle);
     break;
 
   case 4:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SWITCHING), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SWITCHING), gSmbiosHiiHandle);
     break;
 
   case 5:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BATTERY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BATTERY), gSmbiosHiiHandle);
     break;
 
   case 6:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UPS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UPS), gSmbiosHiiHandle);
     break;
 
   case 7:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CONVERTER), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CONVERTER), gSmbiosHiiHandle);
     break;
 
   case 8:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_REGULATOR), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_REGULATOR), gSmbiosHiiHandle);
     break;
 
   default:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_2), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_2), gSmbiosHiiHandle);
   }
   //
   // Bits 9:7 - Status
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STATUS_DASH), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_STATUS_DASH), gSmbiosHiiHandle);
   Temp = (Characteristics & 0x380) << 7;
   switch (Temp) {
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OK), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OK), gSmbiosHiiHandle);
     break;
 
   case 4:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NON_CRITICAL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NON_CRITICAL), gSmbiosHiiHandle);
     break;
 
   case 5:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CRITICAL_POWER_SUPPLY), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_CRITICAL_POWER_SUPPLY), gSmbiosHiiHandle);
     break;
 
   default:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED), gSmbiosHiiHandle);
   }
   //
   // Bits 6:3 - DMTF Input Voltage Range Switching
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INPUT_VOLTAGE_RANGE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_INPUT_VOLTAGE_RANGE), gSmbiosHiiHandle);
   Temp = (Characteristics & 0x78) << 3;
   switch (Temp) {
   case 1:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE), gSmbiosHiiHandle);
     break;
 
   case 2:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNKNOWN), gSmbiosHiiHandle);
     break;
 
   case 3:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MANUAL), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_MANUAL), gSmbiosHiiHandle);
     break;
 
   case 4:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_AUTO_SWITCH), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_AUTO_SWITCH), gSmbiosHiiHandle);
     break;
 
   case 5:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WIDE_RANGE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_WIDE_RANGE), gSmbiosHiiHandle);
     break;
 
   case 6:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_APPLICABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NOT_APPLICABLE), gSmbiosHiiHandle);
     break;
 
   default:
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_3), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_3), gSmbiosHiiHandle);
     break;
   }
   //
   // Power supply is unplugged from the wall
   //
   if (BIT (Characteristics, 2) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_UNPLUGGED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_UNPLUGGED), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PLUGGED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PLUGGED), gSmbiosHiiHandle);
   }
   //
   // Power supply is present
   //
   if (BIT (Characteristics, 1) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PRESENT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PRESENT), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT), gSmbiosHiiHandle);
   }
   //
   // hot replaceable
   //
   if (BIT (Characteristics, 0) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE), gSmbiosHiiHandle);
   } else {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE), gSmbiosHiiHandle);
   }
 }
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/QueryTable.c GccShellR33/SmbiosView/QueryTable.c
--- ShellR33/SmbiosView/QueryTable.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/SmbiosView/QueryTable.c	2009-11-05 13:49:56.000000000 -0800
@@ -23,7 +23,7 @@
 #include "EfiShellLib.h"
 #include "QueryTable.h"
 #include "PrintInfo.h"
-#include "smbios.h"
+#include "Smbios.h"
 
 #include STRING_DEFINES_FILE
 
@@ -2977,13 +2977,13 @@
   }
 
   if (NoInfo == TRUE) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), gSmbiosHiiHandle);
   }
 
   if (Value != 0) {
     PrintToken (
       STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET),
-      HiiHandle,
+      gSmbiosHiiHandle,
       Value
       );
   }
@@ -3025,7 +3025,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (SystemWakeupTypeTable, Type);
 }
@@ -3038,7 +3038,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   //
   // query table and print info
@@ -3046,7 +3046,7 @@
   PRINT_TABLE_ITEM (SystemEnclosureTypeTable, Type);
 
   if (BIT (Type, 7) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), gSmbiosHiiHandle);
   }
 }
 
@@ -3056,7 +3056,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_TABLE_ITEM (SystemEnclosureStatusTable, Status);
 }
@@ -3067,7 +3067,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_TABLE_ITEM (SESecurityStatusTable, Status);
 }
@@ -3080,7 +3080,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (ProcessorTypeTable, Type);
 }
@@ -3091,7 +3091,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Upgrade, Option);
   PRINT_TABLE_ITEM (ProcessorUpgradeTable, Upgrade);
 }
@@ -3104,7 +3104,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Method, Option);
   PRINT_TABLE_ITEM (McErrorDetectMethodTable, Method);
 }
@@ -3115,7 +3115,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Capability, Option);
   PRINT_BITS_INFO (McErrorCorrectCapabilityTable, Capability);
 }
@@ -3126,7 +3126,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Support, Option);
   PRINT_TABLE_ITEM (McInterleaveSupportTable, Support);
 }
@@ -3137,7 +3137,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Speed, Option);
   PRINT_BITS_INFO (McMemorySpeedsTable, Speed);
 }
@@ -3148,7 +3148,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Voltage, Option);
   PRINT_BITS_INFO (MemoryModuleVoltageTable, Voltage);
 }
@@ -3161,7 +3161,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_BITS_INFO (MmMemoryTypeTable, Type);
 }
@@ -3172,7 +3172,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_BITS_INFO (MmErrorStatusTable, Status);
 }
@@ -3185,7 +3185,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION ((UINT8) Type, Option);
   PRINT_BITS_INFO (CacheSRAMTypeTable, (UINT8) Type);
 }
@@ -3196,7 +3196,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable, Type);
 }
@@ -3207,7 +3207,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (CacheSystemCacheTypeTable, Type);
 }
@@ -3218,7 +3218,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Associativity, Option);
   PRINT_TABLE_ITEM (CacheAssociativityTable, Associativity);
 }
@@ -3231,7 +3231,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (PortConnectorTypeTable, Type);
 }
@@ -3242,7 +3242,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (PortTypeTable, Type);
 }
@@ -3255,7 +3255,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (SystemSlotTypeTable, Type);
 }
@@ -3266,7 +3266,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Width, Option);
   PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable, Width);
 }
@@ -3277,7 +3277,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Usage, Option);
   PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable, Usage);
 }
@@ -3288,7 +3288,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Length, Option);
   PRINT_TABLE_ITEM (SystemSlotLengthTable, Length);
 }
@@ -3299,7 +3299,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Chara1, Option);
   PRINT_BITS_INFO (SlotCharacteristics1Table, Chara1);
 }
@@ -3310,7 +3310,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Chara2, Option);
   PRINT_BITS_INFO (SlotCharacteristics2Table, Chara2);
 }
@@ -3323,7 +3323,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (OnboardDeviceTypesTable, Type);
 }
@@ -3336,7 +3336,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (SELTypesTable, Type);
 }
@@ -3347,7 +3347,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (SELVarDataFormatTypeTable, Type);
 }
@@ -3358,7 +3358,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_BITS_INFO (PostResultsBitmapDw1Table, Key);
 }
@@ -3369,7 +3369,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_BITS_INFO (PostResultsBitmapDw2Table, Key);
 }
@@ -3382,20 +3382,20 @@
 {
   UINT8       Temp;
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (SMType, Option);
 
   //
   // Deal with wide range Value
   //
   if (SMType >= 0x80000000) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), gSmbiosHiiHandle);
   } else if (SMType >= 0x00020000) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gSmbiosHiiHandle);
   } else if (SMType >= 0x00010000) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), gSmbiosHiiHandle);
   } else if (SMType >= 0x31) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gSmbiosHiiHandle);
   } else {
     //
     // Deal with One byte data
@@ -3413,7 +3413,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Location, Option);
   PRINT_TABLE_ITEM (PMALocationTable, Location);
 }
@@ -3424,7 +3424,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Use, Option);
   PRINT_TABLE_ITEM (PMAUseTable, Use);
 }
@@ -3435,7 +3435,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable, Type);
 }
@@ -3448,7 +3448,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (FormFactor, Option);
   PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable, FormFactor);
 }
@@ -3459,7 +3459,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (MemoryDeviceTypeTable, Type);
 }
@@ -3470,7 +3470,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (para, Option);
   PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, para);
 }
@@ -3483,7 +3483,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (ErrorType, Option);
   PRINT_TABLE_ITEM (MemoryErrorTypeTable, ErrorType);
 }
@@ -3494,7 +3494,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Granularity, Option);
   PRINT_TABLE_ITEM (MemoryErrorGranularityTable, Granularity);
 }
@@ -3505,7 +3505,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Operation, Option);
   PRINT_TABLE_ITEM (MemoryErrorOperationTable, Operation);
 }
@@ -3518,7 +3518,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (PointingDeviceTypeTable, Type);
 }
@@ -3529,7 +3529,7 @@
   UINT8   Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Interface, Option);
   PRINT_TABLE_ITEM (PointingDeviceInterfaceTable, Interface);
 }
@@ -3542,7 +3542,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_TABLE_ITEM (PBDeviceChemistryTable, Key);
 }
@@ -3558,7 +3558,7 @@
   UINT8       Loc;
 
   Loc = (UINT8) ((Key & 0xE0) >> 5);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Loc, Option);
   PRINT_TABLE_ITEM (VPLocationTable, Loc);
 }
@@ -3572,7 +3572,7 @@
   UINT8       Status;
 
   Status = (UINT8) (Key & 0x1F);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_TABLE_ITEM (VPStatusTable, Status);
 }
@@ -3588,7 +3588,7 @@
   UINT8       Status;
 
   Status = (UINT8) ((Key & 0xE0) >> 5);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_TABLE_ITEM (CoolingDeviceStatusTable, Status);
 }
@@ -3602,7 +3602,7 @@
   UINT8       Type;
 
   Type = (UINT8) (Key & 0x1F);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Type, Option);
   PRINT_TABLE_ITEM (CoolingDeviceTypeTable, Type);
 }
@@ -3618,7 +3618,7 @@
   UINT8       Status;
 
   Status = (UINT8) ((Key & 0xE0) >> 5);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_TABLE_ITEM (TemperatureProbeStatusTable, Status);
 }
@@ -3632,7 +3632,7 @@
   UINT8       Loc;
 
   Loc = (UINT8) (Key & 0x1F);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Loc, Option);
   PRINT_TABLE_ITEM (TemperatureProbeLocTable, Loc);
 }
@@ -3648,7 +3648,7 @@
   UINT8       Status;
 
   Status = (UINT8) ((Key & 0xE0) >> 5);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Status, Option);
   PRINT_TABLE_ITEM (ECPStatusTable, Status);
 }
@@ -3662,7 +3662,7 @@
   UINT8       Loc;
 
   Loc = (UINT8) (Key & 0x1F);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Loc, Option);
   PRINT_TABLE_ITEM (ECPLocTable, Loc);
 }
@@ -3675,7 +3675,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_TABLE_ITEM (MDTypeTable, Key);
 }
@@ -3686,7 +3686,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_TABLE_ITEM (MDAddressTypeTable, Key);
 }
@@ -3699,7 +3699,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_TABLE_ITEM (MemoryChannelTypeTable, Key);
 }
@@ -3712,7 +3712,7 @@
   UINT8 Option
   )
 {
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable, Key);
 }
@@ -3726,7 +3726,7 @@
   //
   // display
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), gSmbiosHiiHandle);
   PRINT_INFO_OPTION (Key, Option);
   PRINT_TABLE_ITEM (StructureTypeInfoTable, Key);
 }
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/Smbios.h GccShellR33/SmbiosView/Smbios.h
--- ShellR33/SmbiosView/Smbios.h	2008-10-06 00:03:04.000000000 -0700
+++ GccShellR33/SmbiosView/Smbios.h	2009-11-05 13:49:56.000000000 -0800
@@ -32,7 +32,7 @@
     0xda4ccda5, 0xe09d, 0x4f89, 0xb0, 0xf2, 0xdf, 0x84, 0x5c, 0xbb, 0x92, 0x80 \
   }
 
-extern EFI_HII_HANDLE HiiHandle;
+extern EFI_HII_HANDLE gSmbiosHiiHandle;
 
 
 
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/smbiosview.c GccShellR33/SmbiosView/smbiosview.c
--- ShellR33/SmbiosView/smbiosview.c	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/SmbiosView/smbiosview.c	2009-11-05 13:49:56.000000000 -0800
@@ -26,7 +26,7 @@
 #include "smbiosview.h"
 #include "PrintInfo.h"
 #include "QueryTable.h"
-#include "smbios.h"
+#include "Smbios.h"
 
 extern UINT8                STRING_ARRAY_NAME[];
 
@@ -45,7 +45,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE              HiiHandle;
+EFI_HII_HANDLE              gSmbiosHiiHandle;
 EFI_GUID                    EfiSmbiosViewGuid = EFI_SMBIOS_GUID;
 SHELL_VAR_CHECK_ITEM        SmbiosviewCheckList[] = {
   {
@@ -147,7 +147,7 @@
   //
   EnableOutputTabPause();
 
-  Status = LibInitializeStrings (&HiiHandle, STRING_ARRAY_NAME, &EfiSmbiosViewGuid);
+  Status = LibInitializeStrings (&gSmbiosHiiHandle, STRING_ARRAY_NAME, &EfiSmbiosViewGuid);
 
   if (EFI_ERROR (Status)) {
     return Status;
@@ -157,19 +157,19 @@
   if (VarCheckOk != RetCode) {
     switch (RetCode) {
     case VarCheckLackValue:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LACK_ARG), HiiHandle, L"smbiosview", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_LACK_ARG), gSmbiosHiiHandle, L"smbiosview", Useful);
       break;
 
     case VarCheckConflict:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_FLAG_CONFLICT), HiiHandle, L"smbiosview", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_FLAG_CONFLICT), gSmbiosHiiHandle, L"smbiosview", Useful);
       break;
 
     case VarCheckDuplicate:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_DUP_FLAG), HiiHandle, L"smbiosview", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_DUP_FLAG), gSmbiosHiiHandle, L"smbiosview", Useful);
       break;
 
     case VarCheckUnknown:
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), HiiHandle, L"smbiosview", Useful);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_UNKNOWN_FLAG), gSmbiosHiiHandle, L"smbiosview", Useful);
       break;
 
     default:
@@ -191,10 +191,10 @@
         ChkPck.FlagCount > 2 ||
         (2 == ChkPck.FlagCount && !LibCheckVarGetFlag (&ChkPck, L"-b"))
         ) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"smbiosview");
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gSmbiosHiiHandle, L"smbiosview");
       Status = EFI_INVALID_PARAMETER;
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_VERBOSE_HELP), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_VERBOSE_HELP), gSmbiosHiiHandle);
       Status = EFI_SUCCESS;
     }
 
@@ -202,7 +202,7 @@
   }
 
   if (ChkPck.ValueCount > 0) {
-    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), HiiHandle, L"smbiosview");
+    PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_TOO_MANY), gSmbiosHiiHandle, L"smbiosview");
     Status = EFI_INVALID_PARAMETER;
     goto Done;
   }
@@ -233,7 +233,7 @@
   if (Item) {
     StructType = (UINT8) StrToUInteger (Item->VarStr, &Status);
     if (EFI_ERROR (Status)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"smbiosview", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gSmbiosHiiHandle, L"smbiosview", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto Done;
     }
@@ -244,7 +244,7 @@
     RandomView   = FALSE;
     StructHandle = (UINT16) (StrToUIntegerBase (Item->VarStr, 16, &Status));
     if (EFI_ERROR (Status)) {
-      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), HiiHandle, L"smbiosview", Item->VarStr);
+      PrintToken (STRING_TOKEN (STR_SHELLENV_GNC_INVALID_ARG), gSmbiosHiiHandle, L"smbiosview", Item->VarStr);
       Status = EFI_INVALID_PARAMETER;
       goto Done;
     }
@@ -324,7 +324,7 @@
   SMBiosTable = NULL;
   LibSmbiosGetEPS (&SMBiosTable);
   if (SMBiosTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), gSmbiosHiiHandle);
     return EFI_BAD_BUFFER_SIZE;
   }
 
@@ -338,21 +338,21 @@
     SmbiosMinorVersion = SMBiosTable->MinorVersion;
 
     Print (L"=========================================================\n");
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND), gSmbiosHiiHandle);
 
     if (QueryType == STRUCTURE_TYPE_RANDOM) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE_RANDOM), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE_RANDOM), gSmbiosHiiHandle);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE), HiiHandle, QueryType);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE), gSmbiosHiiHandle, QueryType);
     }
 
     if (RandomView) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE_RANDOM), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE_RANDOM), gSmbiosHiiHandle);
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE), HiiHandle, QueryHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE), gSmbiosHiiHandle, QueryHandle);
     }
 
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOWTYPE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOWTYPE), gSmbiosHiiHandle);
     Print (GetShowTypeString (gShowType));
     Print (L"\n\n");
 
@@ -401,15 +401,15 @@
       Print (L"\n=========================================================\n");
       PrintToken (
         STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_TYPE_HANDLE_DUMP_STRUCT),
-        HiiHandle,
+        gSmbiosHiiHandle,
         pStruct.Hdr->Type,
         pStruct.Hdr->Handle
         );
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INDEX_LENGTH), HiiHandle, Index, Length);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INDEX_LENGTH), gSmbiosHiiHandle, Index, Length);
       //
       // Addr of structure in structure in table
       //
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ADDR), HiiHandle, TableHead + Offset);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ADDR), gSmbiosHiiHandle, TableHead + Offset);
       DumpHex (0, 0, Length, Buffer);
 
       //
@@ -473,7 +473,7 @@
     return EFI_SUCCESS;
   }
 
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_Q), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_Q), gSmbiosHiiHandle);
   Input (L"$", InputStr, 3);
 
   //
@@ -507,7 +507,7 @@
       //
       gShowType = (UINT8) (InputStr[Index] - (CHAR16) (L'0'));
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_INTERNAL_COMMAND), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_INTERNAL_COMMAND), gSmbiosHiiHandle);
     }
   } else if (InputStr[Index] == '/') {
     Index++;
@@ -521,7 +521,7 @@
         return Status;
       }
     } else {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_INTERNAL_COMMAND), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_INTERNAL_COMMAND), gSmbiosHiiHandle);
     }
   } else {
     Print (L"");
@@ -539,25 +539,25 @@
   // print help info
   //
   Print (L"\n============================================================\n");
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_UTILITY), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_USAGE), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_HSMBIOSVIEW), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_EXAMPLES), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STAT_INFO), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_STRUCT_TYPE), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STRUCT_HANDLE), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_OUTPUT_TO_FILE), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_UTILITY), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_USAGE), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_HSMBIOSVIEW), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_EXAMPLES), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STAT_INFO), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_STRUCT_TYPE), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STRUCT_HANDLE), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_OUTPUT_TO_FILE), gSmbiosHiiHandle);
   Print (L"\n");
   //
   // Internal command
   //
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INTERNAL_COMMANDS), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUIT_SMBIOSVIEW), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NONE), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_OUTLINE), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NORMAL), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_DETAIL), HiiHandle);
-  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_HELP), HiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INTERNAL_COMMANDS), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUIT_SMBIOSVIEW), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NONE), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_OUTLINE), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NORMAL), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_DETAIL), gSmbiosHiiHandle);
+  PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_HELP), gSmbiosHiiHandle);
   Print (L"\n============================================================\n");
 }
 
@@ -603,12 +603,12 @@
   SMBiosTable = NULL;
   LibSmbiosGetEPS (&SMBiosTable);
   if (SMBiosTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), gSmbiosHiiHandle);
     return EFI_NOT_FOUND;
   }
 
   if (CompareMem (SMBiosTable->AnchorString, "_SM_", 4) != 0) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_TABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_TABLE), gSmbiosHiiHandle);
     return EFI_INVALID_PARAMETER;
   }
   //
@@ -622,7 +622,7 @@
   mStatisticsTable = (STRUCTURE_STATISTICS *) AllocatePool (SMBiosTable->NumberOfSmbiosStructures * sizeof (STRUCTURE_STATISTICS));
 
   if (mStatisticsTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_OUT_OF_MEM), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_OUT_OF_MEM), gSmbiosHiiHandle);
     return EFI_OUT_OF_RESOURCES;
   }
 
@@ -686,7 +686,7 @@
   //
   LibSmbiosGetEPS (&SMBiosTable);
   if (SMBiosTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), gSmbiosHiiHandle);
     return EFI_UNSUPPORTED;
   }
 
@@ -698,7 +698,7 @@
   }
 
   if (mStatisticsTable == NULL) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_STATS), HiiHandle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_STATS), gSmbiosHiiHandle);
     return EFI_NOT_FOUND;
   }
 
@@ -709,12 +709,12 @@
   // display statistics table content
   //
   for (Index = 1; Index <= Num; Index++) {
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INDEX), HiiHandle, pStatistics->Index);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_TYPE), HiiHandle, pStatistics->Type);
-    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE), HiiHandle, pStatistics->Handle);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INDEX), gSmbiosHiiHandle, pStatistics->Index);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_TYPE), gSmbiosHiiHandle, pStatistics->Type);
+    PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE), gSmbiosHiiHandle, pStatistics->Handle);
     if (Option >= SHOW_DETAIL) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_OFFSET), HiiHandle, pStatistics->Addr);
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_LENGTH), HiiHandle, pStatistics->Length);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_OFFSET), gSmbiosHiiHandle, pStatistics->Addr);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_LENGTH), gSmbiosHiiHandle, pStatistics->Length);
     }
 
     Print (L"\n");
@@ -723,7 +723,7 @@
     // Display 20 lines and wait for a page break
     //
     if (Index % 20 == 0) {
-      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_CONTINUE), HiiHandle);
+      PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_CONTINUE), gSmbiosHiiHandle);
       Status = WaitEnter ();
       if (EFI_ERROR (Status)) {
         if (Status == EFI_ABORTED) {
diff --ignore-file-name-case -Naur ShellR33/SmbiosView/Smbiosview.inf GccShellR33/SmbiosView/Smbiosview.inf
--- ShellR33/SmbiosView/Smbiosview.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/SmbiosView/Smbiosview.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,7 +25,7 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   SmBiosViewStrings.uni
   QueryTable.c
   EventLogInfo.c
@@ -36,19 +36,19 @@
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
-  $(EFI_SOURCE)\Application\Shell\Inc
-  $(EFI_SOURCE)\Application\Shell\Library
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
+  $(EFI_SOURCE)/Application/Shell/Inc
+  $(EFI_SOURCE)/Application/Shell/Library
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/stall/stall.inf GccShellR33/stall/stall.inf
--- ShellR33/stall/stall.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/stall/stall.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   stallStrings.uni
   stall.c
   stall.h
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/TelnetMgmt/TelnetMgmt.c GccShellR33/TelnetMgmt/TelnetMgmt.c
--- ShellR33/TelnetMgmt/TelnetMgmt.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/TelnetMgmt/TelnetMgmt.c	2009-11-05 13:49:56.000000000 -0800
@@ -32,7 +32,7 @@
 //
 #include STRING_DEFINES_FILE
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiTelnetMgmtGuid = EFI_TELNETMGMT_GUID;
 EFI_GUID        mEfiTelnetServerGuid = EFI_TELNET_SERVER_PROTOCOL_GUID;
 SHELL_VAR_CHECK_ITEM        TelnetmgmtCheckList[] = {
diff --ignore-file-name-case -Naur ShellR33/TelnetMgmt/TelnetMgmt.h GccShellR33/TelnetMgmt/TelnetMgmt.h
--- ShellR33/TelnetMgmt/TelnetMgmt.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/TelnetMgmt/TelnetMgmt.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0x55d41b9a, 0x954d, 0x4fbb, 0x8d, 0x6d, 0x24, 0x75, 0xf5, 0x30, 0x9d, 0x37 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/TelnetMgmt/TelnetMgmt.inf GccShellR33/TelnetMgmt/TelnetMgmt.inf
--- ShellR33/TelnetMgmt/TelnetMgmt.inf	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/TelnetMgmt/TelnetMgmt.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,23 +25,23 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   TelnetMgmtStrings.uni
   TelnetMgmt.c
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/TelnetMgmt/TelnetServer.h GccShellR33/TelnetMgmt/TelnetServer.h
--- ShellR33/TelnetMgmt/TelnetServer.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/TelnetMgmt/TelnetServer.h	2009-09-22 15:37:05.000000000 -0700
@@ -69,11 +69,11 @@
 //
 #define EFI_TELNET_SERVER_REVISION  0x00010000
 
-typedef struct _EFI_TELNET_SERVER_PROTOCOL {
+struct _EFI_TELNET_SERVER_PROTOCOL {
   UINT64                        Revision;
   UINT8                         TerminalType;
   EFI_TELNET_SERVER_SET_OPTION  SetOption;
-} EFI_TELNET_SERVER_PROTOCOL;
+};
 
 //
 // Global Variables
diff --ignore-file-name-case -Naur ShellR33/time/time.c GccShellR33/time/time.c
--- ShellR33/time/time.c	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/time/time.c	2009-09-22 15:37:05.000000000 -0700
@@ -93,8 +93,8 @@
 {
   EFI_STATUS              Status;
   EFI_TIME                Time;
-  UINTN                   Offset;
-  UINTN                   Data;
+  INTN                    Offset;
+  INTN                    Data;
   EFI_HII_HANDLE          HiiHandle;
   INTN                    nValue;
   UINTN                   uValueSize;
diff --ignore-file-name-case -Naur ShellR33/time/time.inf GccShellR33/time/time.inf
--- ShellR33/time/time.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/time/time.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    TimeStrings.uni
    Time.c
    Time.h 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/touch/touch.c GccShellR33/touch/touch.c
--- ShellR33/touch/touch.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/touch/touch.c	2009-11-05 13:49:56.000000000 -0800
@@ -64,8 +64,8 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
-EFI_GUID        EfiTouchGuid = EFI_TOUCH_GUID;
+static EFI_HII_HANDLE   HiiHandle;
+EFI_GUID                EfiTouchGuid = EFI_TOUCH_GUID;
 SHELL_VAR_CHECK_ITEM    TouchCheckList[] = {
   {
     L"-r",
diff --ignore-file-name-case -Naur ShellR33/touch/touch.h GccShellR33/touch/touch.h
--- ShellR33/touch/touch.h	2005-08-23 00:16:36.000000000 -0700
+++ GccShellR33/touch/touch.h	2009-11-05 13:49:56.000000000 -0800
@@ -29,4 +29,4 @@
     0xa16a4695, 0x5815, 0x4d4f, 0xb8, 0xe, 0x6a, 0xf, 0x88, 0xac, 0xdb, 0x6c \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --ignore-file-name-case -Naur ShellR33/touch/touch.inf GccShellR33/touch/touch.inf
--- ShellR33/touch/touch.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/touch/touch.inf	2009-09-22 15:37:05.000000000 -0700
@@ -39,23 +39,23 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   TouchStrings.uni
   touch.c
     
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/type/type.c GccShellR33/type/type.c
--- ShellR33/type/type.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/type/type.c	2009-11-05 13:49:56.000000000 -0800
@@ -59,7 +59,7 @@
 BOOLEAN         TypeUnicode;
 BOOLEAN         TypeAuto;
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiTypeGuid = EFI_TYPE_GUID;
 SHELL_VAR_CHECK_ITEM    TypeCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/type/type.inf GccShellR33/type/type.inf
--- ShellR33/type/type.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/type/type.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    TypeStrings.uni
    type.c
    type.h 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/tzone/timezone.inf GccShellR33/tzone/timezone.inf
--- ShellR33/tzone/timezone.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/tzone/timezone.inf	2009-09-22 15:37:05.000000000 -0700
@@ -25,24 +25,24 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   TZoneStrings.uni
   tzone.c
   tzone.h
 
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/unload/unload.c GccShellR33/unload/unload.c
--- ShellR33/unload/unload.c	2009-05-27 01:55:16.000000000 -0700
+++ GccShellR33/unload/unload.c	2009-09-22 15:37:05.000000000 -0700
@@ -73,7 +73,7 @@
 EFI_STATUS
 _UnloadGetDriverName (
   EFI_HANDLE                        DriverBindingHandle,
-  UINT8                             *Language,
+  CHAR8                             *Language,
   BOOLEAN                           ImageName,
   CHAR16                            **DriverName
   )
@@ -184,7 +184,7 @@
 
     DevicePath      = NULL;
     BestDeviceName  = NULL;
-    Status          = BS->HandleProtocol (Handle, &gEfiDevicePathProtocolGuid, &DevicePath);
+    Status          = BS->HandleProtocol (Handle, &gEfiDevicePathProtocolGuid, (VOID **)&DevicePath);
 
     Print (L"\n");
     PrintToken (STRING_TOKEN (STR_UNLOAD_CONTROLLER_NAME), HiiUnloadHandle);
diff --ignore-file-name-case -Naur ShellR33/unload/unload.inf GccShellR33/unload/unload.inf
--- ShellR33/unload/unload.inf	2007-03-15 20:07:49.000000000 -0700
+++ GccShellR33/unload/unload.inf	2009-09-22 15:37:05.000000000 -0700
@@ -39,23 +39,23 @@
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   UnloadStrings.uni
   unload.c
     
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/ver/Ver.inf GccShellR33/ver/Ver.inf
--- ShellR33/ver/Ver.inf	2008-08-13 23:02:46.000000000 -0700
+++ GccShellR33/ver/Ver.inf	2009-11-04 15:23:34.000000000 -0800
@@ -40,33 +40,35 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    VerStrings.uni
    Ver.c
    Ver.h 
    
-[sources.ia32,sources.x64]
-   ia32\ver32.c
+[sources.ia32,sources.x64,sources.ARM]
+   ia32/ver32.c
 
 [sources.ipf]
-   ipf\ver64.c
+   ipf/ver64.c
 
 [sources.ebc]
-   ebc\verEbc.c
+   ebc/verEbc.c
+   
+   
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib
diff --ignore-file-name-case -Naur ShellR33/vol/vol.c GccShellR33/vol/vol.c
--- ShellR33/vol/vol.c	2006-08-07 02:14:38.000000000 -0700
+++ GccShellR33/vol/vol.c	2009-11-05 13:49:56.000000000 -0800
@@ -32,7 +32,7 @@
 //
 #include STRING_DEFINES_FILE
 
-EFI_HII_HANDLE  HiiHandle;
+static EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiVolGuid = EFI_VOL_GUID;
 SHELL_VAR_CHECK_ITEM    VolCheckList[] = {
   {
diff --ignore-file-name-case -Naur ShellR33/vol/Vol.inf GccShellR33/vol/Vol.inf
--- ShellR33/vol/Vol.inf	2007-06-25 02:05:05.000000000 -0700
+++ GccShellR33/vol/Vol.inf	2009-09-22 15:37:05.000000000 -0700
@@ -40,24 +40,24 @@
 
 
 [sources.common]
-   ..\ShCommonStrings.uni   
+   ../ShCommonStrings.uni   
    VolStrings.uni
    Vol.c
    Vol.h 
                                           
 [includes.common]
   .
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(DEST_DIR)/
 
 [libraries.common]  
   EfiShellLib