summaryrefslogtreecommitdiff
path: root/EdkShellPkg
diff options
context:
space:
mode:
Diffstat (limited to 'EdkShellPkg')
-rw-r--r--EdkShellPkg/ReadMe.txt9
-rw-r--r--EdkShellPkg/ShellR33.patch11856
2 files changed, 11864 insertions, 1 deletions
diff --git a/EdkShellPkg/ReadMe.txt b/EdkShellPkg/ReadMe.txt
index 78607c103..9014686e4 100644
--- a/EdkShellPkg/ReadMe.txt
+++ b/EdkShellPkg/ReadMe.txt
@@ -12,4 +12,11 @@ This is EDK style package and the following steps can help to build the package:
3. The EDK II style DSC file is used to validate build EDK Shell source & EDK compatibility package and can generate the binaries in EdkShellBinPkg.
To use this file, execute the following command under workspace to build EDK Shell source:
- build -a IA32 -a X64 -a IPF -p EdkShellPkg\EdkShellPkg.dsc \ No newline at end of file
+ build -a IA32 -a X64 -a IPF -p EdkShellPkg\EdkShellPkg.dsc
+
+4. If you need to compile for GCC or ARM you will need to apply ShellR33.patch.
+ cd $(WORKSPACE)/Shell and execute patch -p1 < $(WORKSPACE)/EdkShellPkg/ShellR33.patch.
+ If you are using a case sensative file system there are a few case bugs that patch
+ would not fix. Just fix the case of the file to match its usage and you should be
+ able to compile.
+ \ No newline at end of file
diff --git a/EdkShellPkg/ShellR33.patch b/EdkShellPkg/ShellR33.patch
new file mode 100644
index 000000000..6954ab142
--- /dev/null
+++ b/EdkShellPkg/ShellR33.patch
@@ -0,0 +1,11856 @@
+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