summaryrefslogtreecommitdiff
path: root/EdkShellPkg
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-09-27 15:23:33 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-09-27 15:23:33 +0000
commitc0004f9c37f0c23e703afaaf46a6b73538f70b0a (patch)
tree7f12272d2792820ced4ff9d9167431e9b42879c0 /EdkShellPkg
parent3f922953966112535eaaceee4f22f275d1cc86bb (diff)
downloadedk2-platforms-c0004f9c37f0c23e703afaaf46a6b73538f70b0a.tar.xz
EdkShellPkg: Added new patch to support EFI Shell project revision 61
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Signed-off-by: Ray Ni <ruiyu.ni@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13755 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkShellPkg')
-rw-r--r--EdkShellPkg/ReadMe.txt4
-rw-r--r--EdkShellPkg/ShellR61.patch5939
2 files changed, 5941 insertions, 2 deletions
diff --git a/EdkShellPkg/ReadMe.txt b/EdkShellPkg/ReadMe.txt
index 50fab696c9..831aeb9b0a 100644
--- a/EdkShellPkg/ReadMe.txt
+++ b/EdkShellPkg/ReadMe.txt
@@ -15,8 +15,8 @@ This is EDK style package and the following steps can help to build the package:
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
-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.
+4. If you need to compile for GCC or ARM you will need to apply ShellR61.patch.
+ cd $(WORKSPACE)/Shell and execute patch -p1 < $(WORKSPACE)/EdkShellPkg/ShellR61.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.
diff --git a/EdkShellPkg/ShellR61.patch b/EdkShellPkg/ShellR61.patch
new file mode 100644
index 0000000000..8fb08413b2
--- /dev/null
+++ b/EdkShellPkg/ShellR61.patch
@@ -0,0 +1,5939 @@
+diff --git a/DeviceTree/devicetree.c b/DeviceTree/devicetree.c
+index 147e2cb..8b0645d 100644
+--- a/DeviceTree/devicetree.c
++++ b/DeviceTree/devicetree.c
+@@ -36,7 +36,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiDevicetreeGuid = EFI_DEVICETREE_GUID;
+ SHELL_VAR_CHECK_ITEM DevicetreeCheckList[] = {
+ {
+diff --git a/DeviceTree/devicetree.inf b/DeviceTree/devicetree.inf
+index a86a1a0..2132c62 100644
+--- a/DeviceTree/devicetree.inf
++++ b/DeviceTree/devicetree.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/EfiCompress/compress.c b/EfiCompress/compress.c
+index e21c1f6..012bbef 100644
+--- a/EfiCompress/compress.c
++++ b/EfiCompress/compress.c
+@@ -262,7 +262,7 @@ STATIC UINT32 mBufSiz = 0, mOutputPos, mOutputMask, mSubBitBuf, mCrc;
+ 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 --git a/EfiCompress/compress.inf b/EfiCompress/compress.inf
+index 2e62fbf..c8cb415 100644
+--- a/EfiCompress/compress.inf
++++ b/EfiCompress/compress.inf
+@@ -25,7 +25,7 @@ FILE_GUID = A6A236DB-F3FB-4f7f-93BC-0AF7DAA583B9
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+-..\ShCommonStrings.uni
++../ShCommonStrings.uni
+ CompressStrings.uni
+ compressMain.c
+ compress.c
+@@ -34,17 +34,17 @@ compress.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 --git a/EfiDecompress/Decompress.c b/EfiDecompress/Decompress.c
+index 918f673..a1490a1 100644
+--- a/EfiDecompress/Decompress.c
++++ b/EfiDecompress/Decompress.c
+@@ -22,7 +22,7 @@ Revision History
+ --*/
+
+ #include "EfiShellLib.h"
+-#include "decompress.h"
++#include "Decompress.h"
+
+ extern UINT8 STRING_ARRAY_NAME[];
+
+@@ -31,7 +31,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ #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 @@ Returns:
+ //
+ //
+ //
+- 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 --git a/EfiDecompress/Decompress.inf b/EfiDecompress/Decompress.inf
+index f955220..6d1e70c 100644
+--- a/EfiDecompress/Decompress.inf
++++ b/EfiDecompress/Decompress.inf
+@@ -25,7 +25,7 @@ FILE_GUID = D9D42564-071C-4d73-8DB0-43C55C62DC4C
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+-..\ShCommonStrings.uni
++../ShCommonStrings.uni
+ DecompressStrings.uni
+ decompress.c
+ decompress.h
+@@ -33,17 +33,17 @@ decompress.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 --git a/IfConfig/IfConfig.c b/IfConfig/IfConfig.c
+index 07cedc2..0e17081 100644
+--- a/IfConfig/IfConfig.c
++++ b/IfConfig/IfConfig.c
+@@ -29,7 +29,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ #define NIC_ITEM_CONFIG_SIZE sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * 16
+
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+
+ EFI_GUID EfiIfConfigGuid = EFI_IFCONFIG_GUID;
+
+@@ -669,7 +669,7 @@ Returns:
+ Status = BS->LocateProtocol (
+ &gEfiHiiConfigRoutingProtocolGuid,
+ NULL,
+- &mHiiConfigRouting
++ (VOID**)&mHiiConfigRouting
+ );
+ if (EFI_ERROR (Status)) {
+ return EFI_NOT_FOUND;
+diff --git a/IfConfig/IfConfig.inf b/IfConfig/IfConfig.inf
+index b2e4964..e55dc32 100644
+--- a/IfConfig/IfConfig.inf
++++ b/IfConfig/IfConfig.inf
+@@ -25,7 +25,7 @@ FILE_GUID = 6394CF3D-D3DC-4f69-926D-AF9FFE59F922
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ IfConfigStrings.uni
+ IfConfig.c
+ IfConfig.h
+@@ -33,25 +33,24 @@ COMPONENT_TYPE = APPLICATION
+ 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
+
+ [nmake.common]
+ C_PROJ_FLAGS = $(C_PROJ_FLAGS)
+diff --git a/IpConfig/IpConfig.c b/IpConfig/IpConfig.c
+index 0c3e4c3..b2154aa 100644
+--- a/IpConfig/IpConfig.c
++++ b/IpConfig/IpConfig.c
+@@ -39,7 +39,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiIpConfigGuid = EFI_IPCONFIG_GUID;
+ SHELL_VAR_CHECK_ITEM IpconfigCheckList[] = {
+ {
+diff --git a/IpConfig/IpConfig.inf b/IpConfig/IpConfig.inf
+index bc8271c..46d4f52 100644
+--- a/IpConfig/IpConfig.inf
++++ b/IpConfig/IpConfig.inf
+@@ -25,24 +25,24 @@ FILE_GUID = 1D73AC03-AF05-44b3-B21E-93A174893FA6
+ 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 --git a/Library/Arm/efilibplat.h b/Library/Arm/efilibplat.h
+new file mode 100644
+index 0000000..3b284fe
+--- /dev/null
++++ b/Library/Arm/efilibplat.h
+@@ -0,0 +1,38 @@
++/*++
++
++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 --git a/Library/CRC.c b/Library/CRC.c
+index ce5387b..ebbdf70 100644
+--- a/Library/CRC.c
++++ b/Library/CRC.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ UINT32 CRCTable[256] = {
+ 0x00000000,
+diff --git a/Library/CRC.h b/Library/CRC.h
+index 326a5e1..b25a275 100644
+--- a/Library/CRC.h
++++ b/Library/CRC.h
+@@ -53,4 +53,5 @@ CalculateCrc (
+ UINTN Size
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/ConsistMapping.c b/Library/ConsistMapping.c
+index b70fa06..61eda8b 100644
+--- a/Library/ConsistMapping.c
++++ b/Library/ConsistMapping.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ MTD_NAME mMTDName[] = {
+ {
+diff --git a/Library/ConsistMapping.h b/Library/ConsistMapping.h
+index bc8d6f0..2efad28 100644
+--- a/Library/ConsistMapping.h
++++ b/Library/ConsistMapping.h
+@@ -79,4 +79,5 @@ DevicePathConsistMappingCompare (
+ IN VOID *Buffer2
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/DPath.c b/Library/DPath.c
+index f0974ac..73086d7 100644
+--- a/Library/DPath.c
++++ b/Library/DPath.c
+@@ -20,7 +20,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ EFI_GUID mEfiDevicePathMessagingUartFlowControlGuid = DEVICE_PATH_MESSAGING_UART_FLOW_CONTROL;
+
+@@ -1468,7 +1468,7 @@ Returns:
+
+ Status = LibLocateProtocol (
+ &gEfiDevicePathToTextProtocolGuid,
+- &DevPathToText
++ (VOID**)&DevPathToText
+ );
+ if (!EFI_ERROR (Status)) {
+ ToText = DevPathToText->ConvertDevicePathToText (
+@@ -1766,7 +1766,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ Device,
+ Protocol,
+- Interface
++ (VOID**)Interface
+ );
+ }
+ }
+diff --git a/Library/DPath.h b/Library/DPath.h
+index 68da82b..bb7dd93 100644
+--- a/Library/DPath.h
++++ b/Library/DPath.h
+@@ -24,7 +24,7 @@ Revision History
+ #ifndef _D_PATH_H
+ #define _D_PATH_H
+
+-#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + strlena (a) + 1))
++#define NextStrA(a) (CHAR8*)((UINT8 *) (((UINT8 *) (a)) + strlena (a) + 1))
+
+ #include EFI_GUID_DEFINITION (PcAnsi)
+
+diff --git a/Library/Data.c b/Library/Data.c
+index d2ffe4a..979b3dd 100644
+--- a/Library/Data.c
++++ b/Library/Data.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ //
+ // ShellLibInitialized - TRUE once InitializeShellLib() is called for the first time
+diff --git a/Library/EfiShellLib.h b/Library/EfiShellLib.h
+index 6243d1d..a174758 100644
+--- a/Library/EfiShellLib.h
++++ b/Library/EfiShellLib.h
+@@ -25,7 +25,7 @@ Revision History
+ #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 @@ Revision History
+ #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 @@ Revision History
+ #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 @@ Revision History
+ #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)
+@@ -152,7 +152,7 @@ Revision History
+ #include EFI_PROTOCOL_DEFINITION (PlatformToDriverConfiguration)
+
+ #include "efilibplat.h"
+-#include "efipart.h"
++#include "EfiPart.h"
+ #include "ShellDebug.h"
+ #include "CRC.h"
+ #include "DPath.h"
+diff --git a/Library/EfiShellLib.inf b/Library/EfiShellLib.inf
+index d450f9d..2093115 100644
+--- a/Library/EfiShellLib.inf
++++ b/Library/EfiShellLib.inf
+@@ -45,34 +45,38 @@ COMPONENT_TYPE = LIBRARY
+ HiiSupport.c
+
+ [sources.ia32]
+- ia32\math.c
+- ia32\initplat.c
++ IA32/math.c
++ IA32/initplat.c
+
+ [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 --git a/Library/Event.c b/Library/Event.c
+index 4929e4b..a0cbdc2 100644
+--- a/Library/Event.c
++++ b/Library/Event.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ EFI_EVENT
+ LibCreateProtocolNotifyEvent (
+diff --git a/Library/Event.h b/Library/Event.h
+index b8df801..5de49b4 100644
+--- a/Library/Event.h
++++ b/Library/Event.h
+@@ -50,4 +50,5 @@ WaitForEventWithTimeout (
+ OUT EFI_INPUT_KEY *Key
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/FileIO.c b/Library/FileIO.c
+index 40c67d1..8820c52 100644
+--- a/Library/FileIO.c
++++ b/Library/FileIO.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ typedef struct _PATH_COMPONENTS {
+ CHAR16 *Name;
+@@ -719,7 +719,6 @@ LibSplitFsAndPath (
+ IN OUT CHAR16 **Path
+ )
+ {
+- EFI_STATUS Status;
+ CHAR16 *p;
+ UINTN Size;
+
+@@ -728,7 +727,6 @@ LibSplitFsAndPath (
+
+ *Fs = NULL;
+ *Path = NULL;
+- Status = EFI_SUCCESS;
+
+ p = AbPath;
+ while (*p) {
+@@ -1017,13 +1015,11 @@ Return:
+ EFI_LIST_ENTRY SrcList;
+ EFI_LIST_ENTRY DstList;
+ EFI_STATUS Status;
+- EFI_LIST_ENTRY *Link;
+ SHELL_FILE_ARG *SrcArg;
+ SHELL_FILE_ARG *DstArg;
+
+ ASSERT (IsSame != NULL);
+
+- Link = NULL;
+ SrcArg = NULL;
+ DstArg = NULL;
+ InitializeListHead (&SrcList);
+diff --git a/Library/FileIO.h b/Library/FileIO.h
+index bb07d91..54fd6d5 100644
+--- a/Library/FileIO.h
++++ b/Library/FileIO.h
+@@ -208,4 +208,5 @@ CloseSimpleReadFile (
+ IN SIMPLE_READ_FILE SimpleReadHandle
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/Handle.c b/Library/Handle.c
+index 33f925d..f406d5a 100644
+--- a/Library/Handle.c
++++ b/Library/Handle.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ EFI_STATUS
+ LibLocateHandle (
+@@ -131,7 +131,6 @@ Returns:
+ EFI_HANDLE *BlockIoBuffer;
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;
+ UINTN Index;
+- EFI_DEVICE_PATH_PROTOCOL *Start;
+ EFI_DEVICE_PATH_PROTOCOL *Next;
+ EFI_DEVICE_PATH_PROTOCOL *DevPath;
+ HARDDRIVE_DEVICE_PATH *HardDriveDevicePath;
+@@ -204,7 +203,6 @@ Returns:
+ PreviousNodeIsHardDriveDevicePath = FALSE;
+
+ DevPath = DevicePath;
+- Start = DevPath;
+ //
+ // Check for end of device path type
+ //
+@@ -796,14 +794,12 @@ LibScanHandleDatabase (
+ UINTN OpenInfoIndex;
+ UINTN ChildIndex;
+ BOOLEAN DriverBindingHandleIndexValid;
+- BOOLEAN ControllerHandleIndexValid;
+
+ DriverBindingHandleIndexValid = FALSE;
+ if (DriverBindingHandleIndex != NULL) {
+ *DriverBindingHandleIndex = 0xffffffff;
+ }
+
+- ControllerHandleIndexValid = FALSE;
+ if (ControllerHandleIndex != NULL) {
+ *ControllerHandleIndex = 0xffffffff;
+ }
+@@ -847,7 +843,6 @@ LibScanHandleDatabase (
+
+ if (ControllerHandle != NULL && ControllerHandleIndex != NULL && (*HandleBuffer)[HandleIndex] == ControllerHandle) {
+ *ControllerHandleIndex = (UINT32) HandleIndex;
+- ControllerHandleIndexValid = TRUE;
+ }
+
+ }
+@@ -1286,7 +1281,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ Handles[Index],
+ ProtocolGuid,
+- Interface
++ (VOID**)Interface
+ );
+
+ if (!EFI_ERROR (Status)) {
+diff --git a/Library/HiiSupport.c b/Library/HiiSupport.c
+index bce645b..5f70712 100644
+--- a/Library/HiiSupport.c
++++ b/Library/HiiSupport.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
+
+@@ -56,11 +56,11 @@ Returns:
+ 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 --git a/Library/IO.c b/Library/IO.c
+index 81f26fd..749aacb 100644
+--- a/Library/IO.c
++++ b/Library/IO.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ #define PRINT_STRING_LEN 1024
+ #define PRINT_ITEM_BUFFER_LEN 100
+@@ -86,8 +86,8 @@ typedef struct _pstate {
+ typedef struct {
+ BOOLEAN PageBreak;
+ BOOLEAN AutoWrap;
+- INTN MaxRow;
+- INTN MaxColumn;
++ UINTN MaxRow;
++ UINTN MaxColumn;
+ INTN InitRow;
+ INTN Row;
+ INTN Column;
+@@ -1575,7 +1575,7 @@ Returns:
+ {
+ BOOLEAN Done;
+ UINTN Column;
+- INTN Row;
++ UINTN Row;
+ UINTN StartColumn;
+ UINTN Update;
+ UINTN Delete;
+@@ -1928,8 +1928,8 @@ LibGetPageBreak (
+ return mPrintMode.PageBreak;
+ }
+
++#if 0
+ STATIC
+-
+ BOOLEAN
+ GetOutputPause (
+ VOID
+@@ -1937,6 +1937,7 @@ GetOutputPause (
+ {
+ return mPrintMode.OutputPause;
+ }
++#endif
+
+ INTN
+ DbgPrint (
+diff --git a/Library/IO.h b/Library/IO.h
+index 7469c32..5d13e17 100644
+--- a/Library/IO.h
++++ b/Library/IO.h
+@@ -157,4 +157,5 @@ LibGetPageBreak (
+ );
+
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/Init.c b/Library/Init.c
+index 80dc3a3..37d555f 100644
+--- a/Library/Init.c
++++ b/Library/Init.c
+@@ -20,7 +20,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ extern EFI_UNICODE_COLLATION_PROTOCOL LibStubUnicodeInterface;
+
+diff --git a/Library/Lock.c b/Library/Lock.c
+index 8a40db5..b3f9bad 100644
+--- a/Library/Lock.c
++++ b/Library/Lock.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ VOID
+ InitializeLock (
+diff --git a/Library/Lock.h b/Library/Lock.h
+index 9e35b92..275a221 100644
+--- a/Library/Lock.h
++++ b/Library/Lock.h
+@@ -45,4 +45,5 @@ ReleaseLock (
+ IN FLOCK *Lock
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/Mem.c b/Library/Mem.c
+index f82cb52..9675b52 100644
+--- a/Library/Mem.c
++++ b/Library/Mem.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ VOID
+ SetMem (
+diff --git a/Library/Mem.h b/Library/Mem.h
+index bca1e1d..b3d222d 100644
+--- a/Library/Mem.h
++++ b/Library/Mem.h
+@@ -73,4 +73,5 @@ ZeroMem (
+ IN UINTN Size
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/Misc.c b/Library/Misc.c
+index c778236..b476d08 100644
+--- a/Library/Misc.c
++++ b/Library/Misc.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ #if (PLATFORM == NT32)
+ #define LOCAL_EFI_WIN_NT_THUNK_PROTOCOL_GUID \
+@@ -348,7 +348,7 @@ Returns:
+ ASSERT (Buffer != NULL);
+
+ if (mShellEnv == NULL) {
+- Status = LibLocateProtocol (&ShellEnvProtocol, &mShellEnv);
++ Status = LibLocateProtocol (&ShellEnvProtocol, (VOID**)&mShellEnv);
+ if (EFI_ERROR (Status)) {
+ mShellEnv = NULL;
+ }
+@@ -1171,7 +1171,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ Image->DeviceHandle,
+ &gEfiFirmwareVolumeProtocolGuid,
+- &FV
++ (VOID**)&FV
+ );
+ if (!EFI_ERROR (Status)) {
+ Status = FV->ReadSection (
+@@ -1192,7 +1192,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ Image->DeviceHandle,
+ &gEfiFirmwareVolume2ProtocolGuid,
+- &FV2
++ (VOID**)&FV2
+ );
+ if (!EFI_ERROR (Status)) {
+ Status = FV2->ReadSection (
+@@ -1339,7 +1339,7 @@ LibCmdGetStringByToken (
+ {
+ EFI_STATUS Status;
+ CHAR16 *String;
+- EFI_HII_HANDLE HiiHandle;
++ STATIC EFI_HII_HANDLE HiiHandle;
+
+ ASSERT (Str);
+
+diff --git a/Library/Perf.c b/Library/Perf.c
+index 43e09ea..87c4113 100644
+--- a/Library/Perf.c
++++ b/Library/Perf.c
+@@ -19,7 +19,7 @@ Abstract:
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ #include EFI_PROTOCOL_DEFINITION (Performance)
+
+diff --git a/Library/RtData.c b/Library/RtData.c
+index af55cb4..145e933 100644
+--- a/Library/RtData.c
++++ b/Library/RtData.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ //
+ // RT - pointer to the runtime table
+diff --git a/Library/ShellDebug.c b/Library/ShellDebug.c
+index b31ef06..c8b93d5 100644
+--- a/Library/ShellDebug.c
++++ b/Library/ShellDebug.c
+@@ -19,7 +19,7 @@ Abstract:
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+ #include EFI_PROTOCOL_DEFINITION (DebugAssert)
+
+ EFI_DEBUG_ASSERT_PROTOCOL *mDebugAssert = NULL;
+diff --git a/Library/ShellEnvInt.c b/Library/ShellEnvInt.c
+index b99d973..53de481 100644
+--- a/Library/ShellEnvInt.c
++++ b/Library/ShellEnvInt.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ EFI_STATUS
+ ShellExecute (
+diff --git a/Library/ShellEnvInt.h b/Library/ShellEnvInt.h
+index 4182dff..7eef19a 100644
+--- a/Library/ShellEnvInt.h
++++ b/Library/ShellEnvInt.h
+@@ -196,4 +196,5 @@ ShellGetHandleNum (
+ VOID
+ );
+
+-#endif
+\ No newline at end of file
++#endif
++
+diff --git a/Library/Str.c b/Library/Str.c
+index ca0c76b..d881dae 100644
+--- a/Library/Str.c
++++ b/Library/Str.c
+@@ -22,7 +22,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ INTN
+ StrCmp (
+@@ -421,7 +421,7 @@ Returns:
+ 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 @@ Returns:
+ 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 --git a/Library/VarCheck.c b/Library/VarCheck.c
+index 53597ff..1abec9d 100644
+--- a/Library/VarCheck.c
++++ b/Library/VarCheck.c
+@@ -21,7 +21,7 @@ Revision History
+
+ --*/
+
+-#include "EfiShelllib.h"
++#include "EfiShellLib.h"
+
+ VOID
+ LibCheckVarFreeVarList (
+diff --git a/Library/VarCheck.h b/Library/VarCheck.h
+index bc1f412..45aba2c 100644
+--- a/Library/VarCheck.h
++++ b/Library/VarCheck.h
+@@ -41,7 +41,7 @@ typedef enum {
+ ARG_PARTIALLY_QUOTED = 0x2,
+ ARG_FIRST_HALF_QUOTED = 0x4,
+ ARG_FIRST_CHAR_IS_ESC = 0x8
+-};
++} SHELL_ARG_EXPR;
+
+ typedef struct {
+ CHAR16 *FlagStr;
+diff --git a/LoadPciRom/LoadPciRom.c b/LoadPciRom/LoadPciRom.c
+index f8854b7..7afcefd 100644
+--- a/LoadPciRom/LoadPciRom.c
++++ b/LoadPciRom/LoadPciRom.c
+@@ -24,7 +24,7 @@ Revision History
+
+ #include "EfiShellLib.h"
+ #include "LoadPciRom.h"
+-#include "Pci22.h"
++#include "pci22.h"
+
+ extern UINT8 STRING_ARRAY_NAME[];
+
+@@ -56,7 +56,7 @@ LoadEfiDriversFromRomImage (
+ );
+
+ 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 @@ Returns:
+ }
+
+ 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 --git a/LoadPciRom/LoadPciRom.inf b/LoadPciRom/LoadPciRom.inf
+index 8e79af7..943a148 100644
+--- a/LoadPciRom/LoadPciRom.inf
++++ b/LoadPciRom/LoadPciRom.inf
+@@ -41,23 +41,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/Ping/Ping.c b/Ping/Ping.c
+index 7d92881..16b9b4b 100644
+--- a/Ping/Ping.c
++++ b/Ping/Ping.c
+@@ -20,14 +20,14 @@ Abstract:
+ --*/
+
+ #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[] = {
+@@ -114,6 +114,8 @@ UINT32 RttSum;
+ UINT32 RttMin;
+ UINT32 RttMax;
+
++EFI_CPU_ARCH_PROTOCOL *gCpu = NULL;
++
+ STATIC
+ UINT64
+ GetTimerValue (
+@@ -135,7 +137,22 @@ Returns:
+
+ --*/
+ {
+- 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
+@@ -168,7 +185,7 @@ Returns:
+ //
+ // Locate the Cpu Arch Protocol.
+ //
+- Status = BS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, &Cpu);
++ Status = BS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID**)&Cpu);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+diff --git a/Ping/Ping.inf b/Ping/Ping.inf
+index 64dec5c..1052418 100644
+--- a/Ping/Ping.inf
++++ b/Ping/Ping.inf
+@@ -25,24 +25,24 @@ FILE_GUID = FAAA94BA-7095-4c0f-8D69-8E00C8328863
+ 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,6 @@ COMPONENT_TYPE = APPLICATION
+ ArchProtocolLib
+ EdkGuidLib
+ EdkFrameworkGuidLib
+- EfiDriverLib
+
+ [libraries.Ia32]
+ CpuIA32Lib
+diff --git a/Shell.inf b/Shell.inf
+index fee3558..363e165 100644
+--- a/Shell.inf
++++ b/Shell.inf
+@@ -25,179 +25,184 @@ FILE_GUID = c57ad6b7-0515-40a8-9d21-551652854e37
+ 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
+
+ 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/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/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
++ attrib/AttribStrings.uni
++ attrib/attrib.c
++ attrib/attrib.h
+
+- cls\clsstrings.uni
+- cls\cls.c
++ cls/clsstrings.uni
++ cls/cls.c
+
+- cp\CpStrings.uni
+- cp\cp.h
+- cp\cp.c
++ cp/CpStrings.uni
++ cp/cp.h
++ cp/cp.c
+
+- date\DateStrings.uni
+- date\date.c
+- date\date.h
++ date/DateStrings.uni
++ date/date.c
++ date/date.h
+
+- load\LoadStrings.uni
+- load\load.c
+- load\load.h
++ load/LoadStrings.uni
++ load/load.c
++ load/load.h
+
+- ls\LsStrings.uni
+- ls\ls.h
+- ls\ls.c
++ ls/LsStrings.uni
++ ls/ls.h
++ ls/ls.c
+
+- mkdir\MkdirStrings.uni
+- mkdir\mkdir.c
+- mkdir\mkdir.h
++ mkdir/MkdirStrings.uni
++ mkdir/mkdir.c
++ mkdir/mkdir.h
+
+- mv\MvStrings.uni
+- mv\mv.c
+- mv\mv.h
++ mv/MvStrings.uni
++ mv/mv.c
++ mv/mv.h
+
+- reset\ResetStrings.uni
+- reset\reset.c
+- reset\reset.h
++ reset/ResetStrings.uni
++ reset/reset.c
++ reset/reset.h
+
+- rm\RmStrings.uni
+- rm\rm.h
+- rm\rm.c
++ 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
++ 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
++ drivers/driversStrings.uni
++ drivers/drivers.c
++ drivers/drivers.h
+
+- drvcfg\DrvcfgStrings.uni
+- drvcfg\drvcfg.c
+- drvcfg\drvcfg.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
+
+
+ [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]
+@@ -229,4 +234,4 @@ COMPONENT_TYPE = APPLICATION
+
+
+
+-
+\ No newline at end of file
++
+diff --git a/ShellFull.inf b/ShellFull.inf
+index 832dc79..6cca7df 100644
+--- a/ShellFull.inf
++++ b/ShellFull.inf
+@@ -20,300 +20,305 @@
+ #--*/
+
+ [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
+
+ 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/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/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
++ attrib/AttribStrings.uni
++ attrib/attrib.c
++ attrib/attrib.h
+
+- cls\clsstrings.uni
+- cls\cls.c
++ cls/clsstrings.uni
++ cls/cls.c
+
+- cp\CpStrings.uni
+- cp\cp.h
+- cp\cp.c
++ cp/CpStrings.uni
++ cp/cp.h
++ cp/cp.c
+
+- date\DateStrings.uni
+- date\date.c
+- date\date.h
++ date/DateStrings.uni
++ date/date.c
++ date/date.h
+
+- load\LoadStrings.uni
+- load\load.c
+- load\load.h
++ load/LoadStrings.uni
++ load/load.c
++ load/load.h
+
+- ls\LsStrings.uni
+- ls\ls.h
+- ls\ls.c
++ ls/LsStrings.uni
++ ls/ls.h
++ ls/ls.c
+
+- mkdir\MkdirStrings.uni
+- mkdir\mkdir.c
+- mkdir\mkdir.h
++ mkdir/MkdirStrings.uni
++ mkdir/mkdir.c
++ mkdir/mkdir.h
+
+- mv\MvStrings.uni
+- mv\mv.c
+- mv\mv.h
++ mv/MvStrings.uni
++ mv/mv.c
++ mv/mv.h
+
+- reset\ResetStrings.uni
+- reset\reset.c
+- reset\reset.h
++ reset/ResetStrings.uni
++ reset/reset.c
++ reset/reset.h
+
+- rm\RmStrings.uni
+- rm\rm.h
+- rm\rm.c
++ 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
++ 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
++ drivers/driversStrings.uni
++ drivers/drivers.c
++ drivers/drivers.h
+
+- drvcfg\DrvcfgStrings.uni
+- drvcfg\drvcfg.c
+- drvcfg\drvcfg.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
+
+- comp\CompStrings.uni
+- comp\comp.c
++ comp/CompStrings.uni
++ comp/comp.c
+
+- dblk\dblkStrings.uni
+- dblk\dblk.c
+- dblk\efidump.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
++ dmem/MemStrings.uni
++ dmem/DebugStrings.uni
++ dmem/mem.c
++ dmem/MemCommonPart.c
++ dmem/efidump.c
+
+- dmpstore\DmpstoreStrings.uni
+- dmpstore\dmpstore.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
++ 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
++ eficompress/CompressStrings.uni
++ eficompress/compressMain.c
++ eficompress/compress.c
+
+- efidecompress\DecompressStrings.uni
+- efidecompress\decompress.c
++ efidecompress/DecompressStrings.uni
++ efidecompress/decompress.c
+
+- err\ErrStrings.uni
+- err\err.c
++ err/ErrStrings.uni
++ err/err.c
+
+- guid\GuidStrings.uni
+- guid\guid.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
++ 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
++ loadpcirom/LoadPciRomStrings.uni
++ loadpcirom/LoadPciRom.c
+
+- mem\MemStrings.uni
+- mem\DebugStrings.uni
+- mem\mm.c
+- mem\MemCommonPart.c
+- mem\efidump.c
++ mem/MemStrings.uni
++ mem/DebugStrings.uni
++ mem/mm.c
++ mem/MemCommonPart.c
++ mem/efidump.c
+
+- memmap\memmapStrings.uni
+- memmap\memmap.c
++ memmap/memmapStrings.uni
++ memmap/memmap.c
+
+- mm\MmStrings.uni
+- mm\mm.c
++ mm/MmStrings.uni
++ mm/mm.c
+
+- mode\ModeStrings.uni
+- mode\mode.c
++ mode/ModeStrings.uni
++ mode/mode.c
+
+- mount\MountStrings.uni
+- mount\mount.c
++ mount/MountStrings.uni
++ mount/mount.c
+
+- openinfo\OPeninfoStrings.uni
+- openinfo\openinfo.c
++ openinfo/OPeninfoStrings.uni
++ openinfo/openinfo.c
+
+- Ping\PingStrings.uni
+- Ping\Ping.c
++ Ping/PingStrings.uni
++ Ping/Ping.c
+
+- pci\PciStrings.uni
+- pci\pci.c
+- pci\pci_class.c
++ pci/PciStrings.uni
++ pci/pci.c
++ pci/pci_class.c
+
+- sermode\SermodeStrings.uni
+- sermode\sermode.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
++ 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
+
+ [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]
+@@ -353,4 +358,4 @@ COMPONENT_TYPE = APPLICATION
+ EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\"
+
+
+-
+\ No newline at end of file
++
+diff --git a/SmbiosView/EventLogInfo.c b/SmbiosView/EventLogInfo.c
+index 7f9b726..33e3549 100644
+--- a/SmbiosView/EventLogInfo.c
++++ b/SmbiosView/EventLogInfo.c
+@@ -25,7 +25,7 @@ Revision History
+ #include "PrintInfo.h"
+ #include "QueryTable.h"
+ #include "EventLogInfo.h"
+-#include "smbios.h"
++#include "Smbios.h"
+ #include STRING_DEFINES_FILE
+
+ VOID
+diff --git a/SmbiosView/LibSmbiosView.c b/SmbiosView/LibSmbiosView.c
+index d31ed01..0fb51d5 100644
+--- a/SmbiosView/LibSmbiosView.c
++++ b/SmbiosView/LibSmbiosView.c
+@@ -22,10 +22,10 @@ Revision History
+ --*/
+
+ #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,7 +62,7 @@ Returns:
+ //
+ // 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);
+diff --git a/SmbiosView/PrintInfo.c b/SmbiosView/PrintInfo.c
+index ff1f63c..1789ef6 100644
+--- a/SmbiosView/PrintInfo.c
++++ b/SmbiosView/PrintInfo.c
+@@ -26,7 +26,7 @@ Revision History
+ #include "LibSmbiosView.h"
+ #include "QueryTable.h"
+ #include "EventLogInfo.h"
+-#include "smbios.h"
++#include "Smbios.h"
+ #include STRING_DEFINES_FILE
+
+ //
+diff --git a/SmbiosView/QueryTable.c b/SmbiosView/QueryTable.c
+index 4570938..1d9d60f 100644
+--- a/SmbiosView/QueryTable.c
++++ b/SmbiosView/QueryTable.c
+@@ -23,7 +23,7 @@ Revision History
+ #include "EfiShellLib.h"
+ #include "QueryTable.h"
+ #include "PrintInfo.h"
+-#include "smbios.h"
++#include "Smbios.h"
+
+ #include STRING_DEFINES_FILE
+
+diff --git a/SmbiosView/Smbiosview.inf b/SmbiosView/Smbiosview.inf
+index f9e8c0b..d65b676 100644
+--- a/SmbiosView/Smbiosview.inf
++++ b/SmbiosView/Smbiosview.inf
+@@ -25,7 +25,7 @@ FILE_GUID = 0F4C0280-B581-4940-AF19-D0CB5559CC95
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ SmBiosViewStrings.uni
+ QueryTable.c
+ QueryTable.h
+@@ -43,19 +43,19 @@ COMPONENT_TYPE = APPLICATION
+
+ [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)/Applicatio./Shels/Inc
++ $(EFI_SOURCE)/Applicatio./Shels/Library
+
+ [libraries.common]
+ EfiShellLib
+diff --git a/SmbiosView/smbiosview.c b/SmbiosView/smbiosview.c
+index 13b4fb7..397ed04 100644
+--- a/SmbiosView/smbiosview.c
++++ b/SmbiosView/smbiosview.c
+@@ -26,7 +26,7 @@ Revision History
+ #include "smbiosview.h"
+ #include "PrintInfo.h"
+ #include "QueryTable.h"
+-#include "smbios.h"
++#include "Smbios.h"
+
+ extern UINT8 STRING_ARRAY_NAME[];
+
+diff --git a/TelnetMgmt/TelnetMgmt.c b/TelnetMgmt/TelnetMgmt.c
+index 9d779df..5e097c9 100644
+--- a/TelnetMgmt/TelnetMgmt.c
++++ b/TelnetMgmt/TelnetMgmt.c
+@@ -32,7 +32,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ #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 --git a/TelnetMgmt/TelnetMgmt.inf b/TelnetMgmt/TelnetMgmt.inf
+index ad8b8bd..6b0b571 100644
+--- a/TelnetMgmt/TelnetMgmt.inf
++++ b/TelnetMgmt/TelnetMgmt.inf
+@@ -25,23 +25,23 @@ FILE_GUID = 0C6282F4-F575-469d-BD55-7693AAC9D812
+ 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 --git a/attrib/attrib.c b/attrib/attrib.c
+index 3599d6d..a597d9c 100644
+--- a/attrib/attrib.c
++++ b/attrib/attrib.c
+@@ -57,7 +57,7 @@ AttribFile (
+ //
+ // 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 @@ Returns:
+ //
+ 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 --git a/attrib/attrib.inf b/attrib/attrib.inf
+index 38cc094..a96ae55 100644
+--- a/attrib/attrib.inf
++++ b/attrib/attrib.inf
+@@ -41,24 +41,24 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/cls/cls.c b/cls/cls.c
+index 572cc82..c1f4440 100644
+--- a/cls/cls.c
++++ b/cls/cls.c
+@@ -30,7 +30,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ #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 --git a/cls/cls.inf b/cls/cls.inf
+index 1e5ef66..7d9e924 100644
+--- a/cls/cls.inf
++++ b/cls/cls.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/comp/comp.inf b/comp/comp.inf
+index 7a525e4..1da14bc 100644
+--- a/comp/comp.inf
++++ b/comp/comp.inf
+@@ -28,21 +28,21 @@ COMPONENT_TYPE = APPLICATION
+ 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 --git a/cp/cp.c b/cp/cp.c
+index 25ac3cf..d79ed13 100644
+--- a/cp/cp.c
++++ b/cp/cp.c
+@@ -578,7 +578,7 @@ Returns:
+ //
+ 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 @@ Returns:
+ // 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 @@ Returns:
+ //
+ 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 --git a/cp/cp.inf b/cp/cp.inf
+index 714c7bb..7303b2f 100644
+--- a/cp/cp.inf
++++ b/cp/cp.inf
+@@ -41,23 +41,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/date/date.c b/date/date.c
+index fb2f765..ff44740 100644
+--- a/date/date.c
++++ b/date/date.c
+@@ -53,8 +53,8 @@ STATIC
+ BOOLEAN
+ GetNumber (
+ IN CHAR16 *Str,
+- IN OUT INTN *Position,
+- IN OUT INTN *Number,
++ IN OUT UINTN *Position,
++ IN OUT UINTN *Number,
+ IN BOOLEAN EndNum
+ );
+
+@@ -330,8 +330,8 @@ STATIC
+ BOOLEAN
+ GetNumber (
+ IN CHAR16 *Str,
+- IN OUT INTN *Position,
+- IN OUT INTN *Number,
++ IN OUT UINTN *Position,
++ IN OUT UINTN *Number,
+ IN BOOLEAN EndNum
+ )
+ {
+diff --git a/date/date.inf b/date/date.inf
+index 2c40f72..18cf117 100644
+--- a/date/date.inf
++++ b/date/date.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/dblk/dblk.inf b/dblk/dblk.inf
+index f15392c..3324eb7 100644
+--- a/dblk/dblk.inf
++++ b/dblk/dblk.inf
+@@ -26,23 +26,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/dblk/efidump.c b/dblk/efidump.c
+index 7fc0337..758326e 100644
+--- a/dblk/efidump.c
++++ b/dblk/efidump.c
+@@ -24,7 +24,7 @@ Revision History
+ --*/
+
+ #include "dblk.h"
+-#include "Efipart.h"
++#include "EfiPart.h"
+ #include "EfiShellLib.h"
+
+ #include STRING_DEFINES_FILE
+@@ -352,8 +352,8 @@ DblkDumpSystemTable (
+ 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);
+@@ -364,22 +364,22 @@ DblkDumpSystemTable (
+
+ 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 --git a/devices/devices.c b/devices/devices.c
+index bcc8beb..56808a4 100644
+--- a/devices/devices.c
++++ b/devices/devices.c
+@@ -36,7 +36,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiDevicesGuid = EFI_DEVICES_GUID;
+ SHELL_VAR_CHECK_ITEM DevicesCheckList[] = {
+ {
+diff --git a/devices/devices.inf b/devices/devices.inf
+index c380f7d..d25b7ab 100644
+--- a/devices/devices.inf
++++ b/devices/devices.inf
+@@ -41,23 +41,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/dmem/MemCommonPart.c b/dmem/MemCommonPart.c
+index 377da17..0b56a02 100644
+--- a/dmem/MemCommonPart.c
++++ b/dmem/MemCommonPart.c
+@@ -148,7 +148,7 @@ Return:
+ 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 @@ Return:
+ //
+ 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 @@ Return:
+ //
+ 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 @@ Return:
+ //
+ 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 --git a/dmem/dmem.inf b/dmem/dmem.inf
+index ca0dcaf..3360314 100644
+--- a/dmem/dmem.inf
++++ b/dmem/dmem.inf
+@@ -25,7 +25,7 @@ FILE_GUID = 644E259E-FF88-4d31-8092-B99D8777F1C4
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ MemStrings.uni
+ DebugStrings.uni
+ mem.c
+@@ -34,17 +34,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/dmem/efidump.c b/dmem/efidump.c
+index 051f6a0..25bd880 100644
+--- a/dmem/efidump.c
++++ b/dmem/efidump.c
+@@ -24,7 +24,7 @@ Revision History
+ --*/
+
+ #include "debug.h"
+-#include "Efipart.h"
++#include "EfiPart.h"
+ #include "EfiShellLib.h"
+
+ #include STRING_DEFINES_FILE
+@@ -352,8 +352,8 @@ DumpSystemTable (
+ 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);
+@@ -364,22 +364,22 @@ DumpSystemTable (
+
+ 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 --git a/dmpstore/dmpstore.c b/dmpstore/dmpstore.c
+index 403e190..4cf7386 100644
+--- a/dmpstore/dmpstore.c
++++ b/dmpstore/dmpstore.c
+@@ -102,7 +102,7 @@ SetFileVariable (
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiDmpstoreGuid = EFI_DMPSTORE_GUID;
+ SHELL_VAR_CHECK_ITEM DmpstoreCheckList[] = {
+ {
+diff --git a/dmpstore/dmpstore.inf b/dmpstore/dmpstore.inf
+index f380759..923c24a 100644
+--- a/dmpstore/dmpstore.inf
++++ b/dmpstore/dmpstore.inf
+@@ -25,24 +25,24 @@ FILE_GUID = 7185D15A-A0AE-4dd1-A58F-C6EAD28EC9A8
+ 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 --git a/drivers/drivers.c b/drivers/drivers.c
+index 0c6cfc0..50629ab 100644
+--- a/drivers/drivers.c
++++ b/drivers/drivers.c
+@@ -43,7 +43,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiDriversGuid = EFI_DRIVERS_GUID;
+ SHELL_VAR_CHECK_ITEM DriversCheckList[] = {
+ {
+diff --git a/drivers/drivers.inf b/drivers/drivers.inf
+index befa6cd..e4331cf 100644
+--- a/drivers/drivers.inf
++++ b/drivers/drivers.inf
+@@ -40,7 +40,7 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ DriversStrings.uni
+ drivers.c
+ drivers.h
+@@ -48,17 +48,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/drvcfg/drvcfg.c b/drvcfg/drvcfg.c
+index b604432..1190081 100644
+--- a/drvcfg/drvcfg.c
++++ b/drvcfg/drvcfg.c
+@@ -38,7 +38,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiDrvcfgGuid = EFI_DRVCFG_GUID;
+ SHELL_VAR_CHECK_ITEM DrvcfgCheckList[] = {
+ {
+diff --git a/drvcfg/drvcfg.inf b/drvcfg/drvcfg.inf
+index 71b2778..86e80dc 100644
+--- a/drvcfg/drvcfg.inf
++++ b/drvcfg/drvcfg.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/drvdiag/drvdiag.c b/drvdiag/drvdiag.c
+index 3a9435c..4c20f09 100644
+--- a/drvdiag/drvdiag.c
++++ b/drvdiag/drvdiag.c
+@@ -41,7 +41,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiDrvdiagGuid = EFI_DRVDIAG_GUID;
+ SHELL_VAR_CHECK_ITEM DrvdiagCheckList[] = {
+ {
+diff --git a/drvdiag/drvdiag.inf b/drvdiag/drvdiag.inf
+index f27c238..493de6e 100644
+--- a/drvdiag/drvdiag.inf
++++ b/drvdiag/drvdiag.inf
+@@ -40,7 +40,7 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ DrvdiagStrings.uni
+ drvdiag.c
+ drvdiag.h
+@@ -48,17 +48,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/edit/edit.inf b/edit/edit.inf
+index 0a48e87..5eba5a4 100644
+--- a/edit/edit.inf
++++ b/edit/edit.inf
+@@ -25,7 +25,7 @@ FILE_GUID = 51A60577-F1F6-444a-A372-244BED272023
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ EditStrings.uni
+ editor.h
+ editortype.h
+@@ -41,17 +41,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/edit/editor.h b/edit/editor.h
+index c18db6a..2dd106b 100644
+--- a/edit/editor.h
++++ b/edit/editor.h
+@@ -33,7 +33,7 @@ Abstract:
+ #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 EFI_EDITOR_GLOBAL_EDITOR MainEditor;
+ 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 --git a/edit/editortype.h b/edit/editortype.h
+index 674f120..df800dc 100644
+--- a/edit/editortype.h
++++ b/edit/editortype.h
+@@ -28,7 +28,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ #define EDITOR_NAME L"EFI Editor\0"
+ #define EDITOR_VERSION L"0.99\0"
+
+-#define EFI_EDITOR_LINE_LIST 'eell'
++#define EFI_EDITOR_LINE_LIST EFI_SIGNATURE_32 ('e','e','l','l')
+
+ #define INSERT_MODE_STR L"INS"
+ #define OVERWR_MODE_STR L"OVR"
+diff --git a/edit/libEditor.c b/edit/libEditor.c
+index b39a2f0..7f32ce1 100644
+--- a/edit/libEditor.c
++++ b/edit/libEditor.c
+@@ -123,7 +123,7 @@ MainEditorInit (
+ Status = BS->HandleProtocol (
+ In,
+ &gEfiSimplePointerProtocolGuid,
+- &MainEditor.MouseInterface
++ (VOID**)&MainEditor.MouseInterface
+ );
+ if (EFI_ERROR (Status)) {
+ //
+@@ -146,7 +146,7 @@ MainEditorInit (
+ Status = BS->HandleProtocol (
+ HandleBuffer[Index],
+ &gEfiSimplePointerProtocolGuid,
+- &MainEditor.MouseInterface
++ (VOID**)&MainEditor.MouseInterface
+ );
+ if (!EFI_ERROR (Status)) {
+ break;
+@@ -169,31 +169,31 @@ MainEditorInit (
+ //
+ 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 @@ MainEditorCleanup (
+ //
+ 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 --git a/edit/libInputBar.c b/edit/libInputBar.c
+index 0ec6858..ebd3864 100644
+--- a/edit/libInputBar.c
++++ b/edit/libInputBar.c
+@@ -173,7 +173,7 @@ Returns:
+ 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 --git a/edit/libMenuBar.c b/edit/libMenuBar.c
+index 32fef4e..f536d76 100644
+--- a/edit/libMenuBar.c
++++ b/edit/libMenuBar.c
+@@ -220,9 +220,9 @@ MainMenuBarRefresh (
+ 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 @@ MainMenuBarRefresh (
+ }
+
+ #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 --git a/edit/main.c b/edit/main.c
+index 9f1c987..0d92c7a 100644
+--- a/edit/main.c
++++ b/edit/main.c
+@@ -34,7 +34,7 @@ EFI_BOOTSHELL_CODE(
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++EFI_HII_HANDLE gEditHiiHandle;
+ #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
+ EFI_HII_PROTOCOL *Hii;
+ #endif
+@@ -121,13 +121,13 @@ Returns:
+ //
+ // There should only be one HII protocol
+ //
+- Status = LibLocateProtocol (&gEfiHiiProtocolGuid, &Hii);
++ Status = LibLocateProtocol (&gEfiHiiProtocolGuid, (VOID**)&Hii);
+ if (EFI_ERROR (Status) || NULL == Hii) {
+ return EFI_ABORTED;
+ }
+ #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 @@ Returns:
+ 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 @@ Returns:
+ 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 @@ Returns:
+ }
+
+ 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 @@ Returns:
+ 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 @@ Returns:
+ //
+ 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 --git a/err/err.c b/err/err.c
+index e41a9d6..95db9bc 100644
+--- a/err/err.c
++++ b/err/err.c
+@@ -35,7 +35,7 @@ extern UINTN EFIDebug;
+ //
+ // 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 @@ _DumpHandleMask (
+ 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 @@ _SetDriverMask (
+ 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 @@ _SetAllDriverMask (
+ }
+
+ 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 --git a/err/err.inf b/err/err.inf
+index 467e734..f1a830b 100644
+--- a/err/err.inf
++++ b/err/err.inf
+@@ -25,7 +25,7 @@ FILE_GUID = 7ED86F56-5558-4d4f-A972-9307909AE9BA
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+-..\ShCommonStrings.uni
++../ShCommonStrings.uni
+ ErrStrings.uni
+ err.c
+ err.h
+@@ -33,17 +33,17 @@ err.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 --git a/guid/guid.c b/guid/guid.c
+index 7f26e7d..ce86444 100644
+--- a/guid/guid.c
++++ b/guid/guid.c
+@@ -36,7 +36,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiGuidGuid = EFI_GUID_GUID;
+ SHELL_VAR_CHECK_ITEM GuidCheckList[] = {
+ {
+diff --git a/guid/guid.inf b/guid/guid.inf
+index 60639d2..8b593b9 100644
+--- a/guid/guid.inf
++++ b/guid/guid.inf
+@@ -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 --git a/hexedit/heditor.h b/hexedit/heditor.h
+index 09196d6..3cd4d84 100644
+--- a/hexedit/heditor.h
++++ b/hexedit/heditor.h
+@@ -39,7 +39,7 @@ Abstract:
+ #include "libinputbar.h"
+ #include "libmenubar.h"
+
+-#include "libmisc.h"
++#include "libMisc.h"
+
+ #include "libclipboard.h"
+
+@@ -52,7 +52,7 @@ extern HEFI_EDITOR_GLOBAL_EDITOR HMainEditor;
+ 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 --git a/hexedit/heditortype.h b/hexedit/heditortype.h
+index 59317a9..0b4e4e2 100644
+--- a/hexedit/heditortype.h
++++ b/hexedit/heditortype.h
+@@ -30,7 +30,7 @@ Abstract:
+ #define EDITOR_NAME L"EFI Hex Editor\0"
+ #define EDITOR_VERSION L"0.99\0"
+
+-#define EFI_EDITOR_LINE_LIST 'eell'
++#define EFI_EDITOR_LINE_LIST EFI_SIGNATURE_32 ('e','e','l','l')
+
+ #define FILE_ATTRIBUTES EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE
+ #define FILE_READ_WRITE EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE
+diff --git a/hexedit/hexedit.inf b/hexedit/hexedit.inf
+index cf89b9e..0239cb6 100644
+--- a/hexedit/hexedit.inf
++++ b/hexedit/hexedit.inf
+@@ -25,7 +25,7 @@ FILE_GUID = A5A41A42-5B2B-4de6-9556-DDC6DC31231C
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ HexeditStrings.uni
+ heditor.h
+ heditortype.h
+@@ -45,17 +45,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/hexedit/libEditor.c b/hexedit/libEditor.c
+index f511020..1e0128f 100644
+--- a/hexedit/libEditor.c
++++ b/hexedit/libEditor.c
+@@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ --*/
+
+-#include "Heditor.h"
++#include "heditor.h"
+
+ HEFI_EDITOR_COLOR_ATTRIBUTES HOriginalColors;
+ INTN HOriginalMode;
+@@ -136,7 +136,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ In,
+ &gEfiSimplePointerProtocolGuid,
+- &HMainEditor.MouseInterface
++ (VOID**)&HMainEditor.MouseInterface
+ );
+ if (EFI_ERROR (Status)) {
+ //
+@@ -159,7 +159,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ HandleBuffer[Index],
+ &gEfiSimplePointerProtocolGuid,
+- &HMainEditor.MouseInterface
++ (VOID**)&HMainEditor.MouseInterface
+ );
+ if (!EFI_ERROR (Status)) {
+ break;
+@@ -182,37 +182,37 @@ Returns:
+ //
+ 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 @@ Returns:
+ //
+ 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
+diff --git a/hexedit/libInputBar.c b/hexedit/libInputBar.c
+index 3a4cc7e..caa1ddc 100644
+--- a/hexedit/libInputBar.c
++++ b/hexedit/libInputBar.c
+@@ -201,7 +201,7 @@ Returns:
+ 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 --git a/hexedit/libMemImage.c b/hexedit/libMemImage.c
+index 407bb2e..d7dbbe8 100644
+--- a/hexedit/libMemImage.c
++++ b/hexedit/libMemImage.c
+@@ -91,7 +91,7 @@ Returns:
+ Status = BS->LocateProtocol (
+ &gEfiPciRootBridgeIoProtocolGuid,
+ NULL,
+- &HMemImage.IoFncs
++ (VOID**)&HMemImage.IoFncs
+ );
+ if (Status == EFI_NOT_FOUND) {
+ //
+diff --git a/hexedit/libMenuBar.c b/hexedit/libMenuBar.c
+index 5ecb694..d77a1a0 100644
+--- a/hexedit/libMenuBar.c
++++ b/hexedit/libMenuBar.c
+@@ -255,9 +255,9 @@ Returns:
+ 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 @@ Returns:
+ }
+
+ #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 --git a/hexedit/libMisc.h b/hexedit/libMisc.h
+index 979a7f0..cbf58a8 100644
+--- a/hexedit/libMisc.h
++++ b/hexedit/libMisc.h
+@@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ #ifndef _LIB_MISC_H_
+ #define _LIB_MISC_H_
+
+-#include "Heditortype.h"
++#include "heditortype.h"
+
+ VOID
+ HEditorClearLine (
+diff --git a/hexedit/libTitleBar.c b/hexedit/libTitleBar.c
+index 9e7b9e9..09d068e 100644
+--- a/hexedit/libTitleBar.c
++++ b/hexedit/libTitleBar.c
+@@ -212,7 +212,7 @@ Returns:
+ // 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 @@ Returns:
+
+ } 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 @@ Returns:
+ 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 @@ Returns:
+
+ 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 @@ Returns:
+ 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
+ );
+@@ -286,15 +286,15 @@ Returns:
+ //
+ 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;
+ }
+ //
+diff --git a/hexedit/libdiskimage.c b/hexedit/libdiskimage.c
+index 7e11ad0..52f177b 100644
+--- a/hexedit/libdiskimage.c
++++ b/hexedit/libdiskimage.c
+@@ -246,7 +246,7 @@ Returns:
+ Status = LibDevicePathToInterface (
+ &gEfiBlockIoProtocolGuid,
+ DevicePath,
+- &BlkIo
++ (VOID**)&BlkIo
+ );
+ if (EFI_ERROR (Status)) {
+ HMainStatusBarSetStatusString (L"Read Disk Failed");
+@@ -427,7 +427,7 @@ Returns:
+ Status = LibDevicePathToInterface (
+ &gEfiBlockIoProtocolGuid,
+ DevicePath,
+- &BlkIo
++ (VOID**)&BlkIo
+ );
+ if (EFI_ERROR (Status)) {
+ return Status;
+diff --git a/hexedit/libmenubar.h b/hexedit/libmenubar.h
+index e3766e2..2c4cff1 100644
+--- a/hexedit/libmenubar.h
++++ b/hexedit/libmenubar.h
+@@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ #ifndef _LIB_MENU_BAR_H_
+ #define _LIB_MENU_BAR_H_
+
+-#include "Heditortype.h"
++#include "heditortype.h"
+
+ EFI_STATUS
+ HMainMenuBarInit (
+diff --git a/hexedit/main.c b/hexedit/main.c
+index 9c2a032..0f0dc21 100644
+--- a/hexedit/main.c
++++ b/hexedit/main.c
+@@ -27,7 +27,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++EFI_HII_HANDLE gHexEditHiiHandle;
+ #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
+ EFI_HII_PROTOCOL *Hii;
+ #endif
+@@ -93,10 +93,10 @@ PrintUsage (
+ 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");
+ }
+
+@@ -147,7 +147,7 @@ Returns:
+ EFI_SHELL_APP_INIT (ImageHandle, SystemTable);
+
+ #if (EFI_SPECIFICATION_VERSION < 0x0002000A)
+- Status = LibLocateProtocol (&gEfiHiiProtocolGuid, &Hii);
++ Status = LibLocateProtocol (&gEfiHiiProtocolGuid, (VOID**)&Hii);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+@@ -158,12 +158,12 @@ Returns:
+ // 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
+ );
+@@ -187,17 +187,17 @@ Returns:
+ 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:
+@@ -220,10 +220,10 @@ Returns:
+ 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;
+ }
+
+@@ -233,13 +233,13 @@ Returns:
+ 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;
+ }
+@@ -249,7 +249,7 @@ Returns:
+ 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;
+ }
+@@ -257,13 +257,13 @@ Returns:
+ 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;
+ }
+@@ -274,13 +274,13 @@ Returns:
+ 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;
+ }
+@@ -288,7 +288,7 @@ Returns:
+ 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;
+ }
+@@ -296,20 +296,20 @@ Returns:
+ 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;
+ }
+
+@@ -319,13 +319,13 @@ Returns:
+ 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;
+ }
+@@ -333,7 +333,7 @@ Returns:
+ 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,20 +345,20 @@ Returns:
+ if (Name != NULL) {
+ FreeName = TRUE;
+ } else {
+- PrintToken(STRING_TOKEN (STR_HEXEDIT_INVALID_DIRECTORY), HiiHandle, L"hexedit");
++ PrintToken(STRING_TOKEN (STR_HEXEDIT_INVALID_DIRECTORY), gHexEditHiiHandle, L"hexedit");
+ Status = EFI_INVALID_PARAMETER;
+ goto done ;
+ }
+ } 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;
+ }
+@@ -367,7 +367,7 @@ Returns:
+ }
+
+ if (SI->RedirArgc != 0) {
+- PrintToken (STRING_TOKEN (STR_HEXEDIT_NOREDIRECT), HiiHandle);
++ PrintToken (STRING_TOKEN (STR_HEXEDIT_NOREDIRECT), gHexEditHiiHandle);
+ Status = EFI_INVALID_PARAMETER;
+ goto done;
+ }
+@@ -376,7 +376,7 @@ Returns:
+ 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;
+ }
+
+@@ -453,19 +453,19 @@ Returns:
+ //
+ 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 --git a/inc/shelltypes.h b/inc/shelltypes.h
+index 1b6cc38..222d165 100644
+--- a/inc/shelltypes.h
++++ b/inc/shelltypes.h
+@@ -36,7 +36,7 @@ extern "C"
+ #endif
+
+ #include "Tiano.h"
+-#include "linkedlist.h"
++#include "LinkedList.h"
+
+ #include EFI_PROTOCOL_DEFINITION (FileInfo)
+ #include EFI_PROTOCOL_DEFINITION (SimpleFileSystem)
+diff --git a/load/load.inf b/load/load.inf
+index 3ba1dbf..6ce3aae 100644
+--- a/load/load.inf
++++ b/load/load.inf
+@@ -39,23 +39,23 @@ FILE_GUID = 5B93B225-2E47-4a61-8EE5-B8EA42EE3EA8
+ 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 --git a/ls/ls.c b/ls/ls.c
+index bfb4f9c..bc0cb7c 100644
+--- a/ls/ls.c
++++ b/ls/ls.c
+@@ -917,14 +917,14 @@ IsMatch (
+
+ 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) &&
+ (mAttribH ? (Info->Attribute & EFI_FILE_HIDDEN ? TRUE : FALSE) : TRUE) &&
+ (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)
++ (mAttribD ? (Info->Attribute & EFI_FILE_DIRECTORY ? TRUE : FALSE) : TRUE))
+ )
+ ) {
+ IsMatch = TRUE;
+diff --git a/ls/ls.inf b/ls/ls.inf
+index 854a5b1..6717ff9 100644
+--- a/ls/ls.inf
++++ b/ls/ls.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/mem/MemCommonPart.c b/mem/MemCommonPart.c
+index 54af027..5e2582c 100644
+--- a/mem/MemCommonPart.c
++++ b/mem/MemCommonPart.c
+@@ -149,7 +149,7 @@ Returns:
+ 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 @@ Returns:
+ //
+ 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 @@ Returns:
+ 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 @@ Returns:
+ //
+ 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 --git a/mem/efidump.c b/mem/efidump.c
+index d7b22cb..50ba236 100644
+--- a/mem/efidump.c
++++ b/mem/efidump.c
+@@ -24,7 +24,7 @@ Revision History
+ --*/
+
+ #include "debug.h"
+-#include "Efipart.h"
++#include "EfiPart.h"
+ #include "EfiShellLib.h"
+
+ #include STRING_DEFINES_FILE
+@@ -352,8 +352,8 @@ DumpMemSystemTable (
+ 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);
+@@ -364,22 +364,22 @@ DumpMemSystemTable (
+
+ 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 --git a/mem/mem.inf b/mem/mem.inf
+index 0561176..88090e5 100644
+--- a/mem/mem.inf
++++ b/mem/mem.inf
+@@ -25,7 +25,7 @@ FILE_GUID = 1B0B8206-74DC-4681-AA0D-039A9699EA56
+ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ MemStrings.uni
+ DebugStrings.uni
+ mm.c
+@@ -34,17 +34,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/memmap/memmap.c b/memmap/memmap.c
+index f7353ff..7b0e893 100644
+--- a/memmap/memmap.c
++++ b/memmap/memmap.c
+@@ -35,7 +35,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiMemmapGuid = EFI_MEMMAP_GUID;
+ SHELL_VAR_CHECK_ITEM MemmapCheckList[] = {
+ {
+diff --git a/memmap/memmap.inf b/memmap/memmap.inf
+index 1d68c61..fcbcfc7 100644
+--- a/memmap/memmap.inf
++++ b/memmap/memmap.inf
+@@ -40,7 +40,7 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [sources.common]
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ memmapStrings.uni
+ memmap.c
+ memmap.h
+@@ -48,17 +48,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/mkdir/mkdir.c b/mkdir/mkdir.c
+index 79a08ca..c105726 100644
+--- a/mkdir/mkdir.c
++++ b/mkdir/mkdir.c
+@@ -49,7 +49,7 @@ MkDir (
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiMkdirGuid = EFI_MKDIR_GUID;
+ SHELL_VAR_CHECK_ITEM MkdirCheckList[] = {
+ {
+diff --git a/mkdir/mkdir.inf b/mkdir/mkdir.inf
+index e49daac..efbc4ab 100644
+--- a/mkdir/mkdir.inf
++++ b/mkdir/mkdir.inf
+@@ -41,23 +41,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/mm/mm.c b/mm/mm.c
+index 033849b..1c8c51b 100644
+--- a/mm/mm.c
++++ b/mm/mm.c
+@@ -73,7 +73,7 @@ GetHex (
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiIomodGuid = EFI_IOMOD_GUID;
+ SHELL_VAR_CHECK_ITEM IomodCheckList[] = {
+ {
+@@ -750,7 +750,7 @@ GetHex (
+ }
+
+ 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 --git a/mm/mm.inf b/mm/mm.inf
+index 4857d9e..fa84147 100644
+--- a/mm/mm.inf
++++ b/mm/mm.inf
+@@ -41,23 +41,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/mode/mode.inf b/mode/mode.inf
+index 47e5c80..beee5dc 100644
+--- a/mode/mode.inf
++++ b/mode/mode.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/mount/mount.c b/mount/mount.c
+index fa32b1f..fd34238 100644
+--- a/mount/mount.c
++++ b/mount/mount.c
+@@ -36,7 +36,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiMountGuid = EFI_MOUNT_GUID;
+ SHELL_VAR_CHECK_ITEM MountCheckList[] = {
+ {
+diff --git a/mount/mount.inf b/mount/mount.inf
+index 922c490..71144af 100644
+--- a/mount/mount.inf
++++ b/mount/mount.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/mv/mv.c b/mv/mv.c
+index 3b04021..47617e5 100644
+--- a/mv/mv.c
++++ b/mv/mv.c
+@@ -36,7 +36,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiMvGuid = EFI_MV_GUID;
+ SHELL_VAR_CHECK_ITEM MvCheckList[] = {
+ {
+diff --git a/mv/mv.inf b/mv/mv.inf
+index b52e28d..0a4a326 100644
+--- a/mv/mv.inf
++++ b/mv/mv.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/newshell/FakeHii.c b/newshell/FakeHii.c
+index c187b47..5dff3ad 100644
+--- a/newshell/FakeHii.c
++++ b/newshell/FakeHii.c
+@@ -196,7 +196,7 @@ FakeUninstallHiiDatabase (
+ Status = BS->HandleProtocol (
+ mFakeHiiHandle,
+ &gEfiHiiProtocolGuid,
+- &FakeHii
++ (VOID**)&FakeHii
+ );
+ Status = BS->UninstallProtocolInterface (
+ mFakeHiiHandle,
+@@ -320,7 +320,7 @@ InsertStringPackage (
+ if (Language == NULL) {
+ return EFI_OUT_OF_RESOURCES;
+ }
+- strcpya (Language, (UINT8 *) PackageHdr + HeaderSize - LanguageSize);
++ strcpya (Language, (CHAR8*) ((UINT8 *) 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 @@ FakeHiiGetString (
+ 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 --git a/newshell/init.c b/newshell/init.c
+index fd4adf6..33fec86 100644
+--- a/newshell/init.c
++++ b/newshell/init.c
+@@ -23,7 +23,7 @@ Abstract:
+ #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)
+@@ -99,13 +99,13 @@ _GetFsDpOfImg (
+ 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);
+@@ -220,7 +220,7 @@ _DoInit (
+ //
+ Status = LibLocateProtocol (
+ &gEfiConsoleControlProtocolGuid,
+- &ConsoleControl
++ (VOID**)&ConsoleControl
+ );
+ if (!EFI_ERROR (Status)) {
+ Status = ConsoleControl->GetMode (ConsoleControl, &mOldCurrentMode, NULL, NULL);
+@@ -342,7 +342,7 @@ _EnableShellEnv (
+ 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 +372,7 @@ _InstallShellInterface (
+ *IsRootInstance = TRUE;
+ }
+
+- Status = LibLocateProtocol (&ShellEnvProtocol, &SE);
++ Status = LibLocateProtocol (&ShellEnvProtocol, (VOID**)&SE);
+ ASSERT (!EFI_ERROR (Status));
+ SI = SE->NewShell (ImageHandle);
+
+@@ -543,7 +543,7 @@ _CleanUpOnExit (
+ //
+ ConsoleControlStatus = LibLocateProtocol (
+ &gEfiConsoleControlProtocolGuid,
+- &ConsoleControl
++ (VOID**)&ConsoleControl
+ );
+ if (!EFI_ERROR (ConsoleControlStatus)) {
+ ConsoleControlStatus = ConsoleControl->GetMode (ConsoleControl, &CurrentMode, NULL, NULL);
+@@ -723,7 +723,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ ImageHandle,
+ &ShellInterfaceProtocol,
+- &SI
++ (VOID**)&SI
+ );
+ ASSERT (!EFI_ERROR (Status));
+ }
+diff --git a/newshell/nshell.inf b/newshell/nshell.inf
+index 22479b0..b69f1a1 100644
+--- a/newshell/nshell.inf
++++ b/newshell/nshell.inf
+@@ -26,24 +26,24 @@ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+ NshellStrings.uni
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ init.c
+ nshell.h
+ fakehii.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 --git a/openinfo/openinfo.c b/openinfo/openinfo.c
+index 9b3356c..c7dfb9e 100644
+--- a/openinfo/openinfo.c
++++ b/openinfo/openinfo.c
+@@ -36,7 +36,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiOpeninfoGuid = EFI_OPENINFO_GUID;
+ SHELL_VAR_CHECK_ITEM OpeninfoCheckList[] = {
+ {
+diff --git a/openinfo/openinfo.inf b/openinfo/openinfo.inf
+index 638462d..383d58a 100644
+--- a/openinfo/openinfo.inf
++++ b/openinfo/openinfo.inf
+@@ -41,24 +41,24 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/pci/pci.c b/pci/pci.c
+index 8dc0dba..b0e5da6 100644
+--- a/pci/pci.c
++++ b/pci/pci.c
+@@ -344,7 +344,7 @@ PCIE_EXPLAIN_STRUCT PcieExplainList[] = {
+ // Global Variables
+ //
+ PCI_CONFIG_SPACE *mConfigSpace;
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiPciGuid = EFI_PCI_GUID;
+ SHELL_VAR_CHECK_ITEM PciCheckList[] = {
+ {
+@@ -1034,7 +1034,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ Handle,
+ &gEfiPciRootBridgeIoProtocolGuid,
+- IoDev
++ (VOID**)IoDev
+ );
+
+ if (EFI_ERROR (Status)) {
+@@ -1043,7 +1043,7 @@ Returns:
+ //
+ // 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;
+@@ -1956,7 +1956,7 @@ Returns:
+ 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);
+@@ -1966,7 +1966,7 @@ Returns:
+ 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
+ );
+
+ //
+diff --git a/pci/pci.h b/pci/pci.h
+index 0716bee..6a3ef76 100644
+--- a/pci/pci.h
++++ b/pci/pci.h
+@@ -30,7 +30,7 @@ Revision History
+ 0x388da6c3, 0x3447, 0x4b1f, 0xa0, 0xba, 0xa9, 0xe8, 0xa2, 0x87, 0xf1, 0x76 \
+ }
+
+-#include "TIANO.h"
++#include "Tiano.h"
+
+ typedef enum {
+ PciDevice,
+diff --git a/pci/pci.inf b/pci/pci.inf
+index d4499d6..4691013 100644
+--- a/pci/pci.inf
++++ b/pci/pci.inf
+@@ -41,7 +41,7 @@ COMPONENT_TYPE = APPLICATION
+
+ [sources.common]
+ PciStrings.uni
+- ..\ShCommonStrings.uni
++ ../ShCommonStrings.uni
+ pci.c
+ pci.h
+ pci_class.h
+@@ -49,17 +49,17 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/pci/pci_class.c b/pci/pci_class.c
+index caffe6d..14aa88d 100644
+--- a/pci/pci_class.c
++++ b/pci/pci_class.c
+@@ -30,7 +30,7 @@ Revision History
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+
+ PCI_CLASS_ENTRY gClassStringList[];
+
+diff --git a/pci/pci_class.h b/pci/pci_class.h
+index c7fff0c..ebaa9f6 100644
+--- a/pci/pci_class.h
++++ b/pci/pci_class.h
+@@ -24,7 +24,7 @@ Revision History
+ #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 --git a/reset/reset.inf b/reset/reset.inf
+index 3af6b2c..b89ae85 100644
+--- a/reset/reset.inf
++++ b/reset/reset.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/rm/rm.inf b/rm/rm.inf
+index 0da05e0..bc7449f 100644
+--- a/rm/rm.inf
++++ b/rm/rm.inf
+@@ -41,23 +41,23 @@ COMPONENT_TYPE = APPLICATION
+
+ [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 --git a/sermode/sermode.c b/sermode/sermode.c
+index b59e801..3340352 100644
+--- a/sermode/sermode.c
++++ b/sermode/sermode.c
+@@ -35,7 +35,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+
+ #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 @@ iDisplaySettings (
+
+ }
+
+- 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 @@ Returns:
+ 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 --git a/sermode/sermode.inf b/sermode/sermode.inf
+index 71f3c66..47ac581 100644
+--- a/sermode/sermode.inf
++++ b/sermode/sermode.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/shellenv/Connect.c b/shellenv/Connect.c
+index 71ecf0b..6b26bfe 100644
+--- a/shellenv/Connect.c
++++ b/shellenv/Connect.c
+@@ -333,7 +333,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ HandleBuffer[0],
+ &gEfiDevicePathProtocolGuid,
+- &Instance
++ (VOID**)&Instance
+ );
+ if (EFI_ERROR (Status)) {
+ DriverBindingHandleCount = 1;
+@@ -349,7 +349,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ HandleBuffer[0],
+ &gEfiDevicePathProtocolGuid,
+- &Instance
++ (VOID**)&Instance
+ );
+ if (EFI_ERROR (Status)) {
+ PrintToken (
+@@ -368,7 +368,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ HandleBuffer[1],
+ &gEfiDriverBindingProtocolGuid,
+- &Instance
++ (VOID**)&Instance
+ );
+ if (EFI_ERROR (Status)) {
+ PrintToken (
+@@ -407,7 +407,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ AllHandleBuffer[Index],
+ &gEfiDriverBindingProtocolGuid,
+- &Instance
++ (VOID**)&Instance
+ );
+ if (EFI_ERROR (Status)) {
+ DeviceHandleBuffer[DeviceHandleCount++] = AllHandleBuffer[Index];
+@@ -1052,7 +1052,7 @@ SEnvConnectConsole (
+ Status = BS->HandleProtocol (
+ *ConsoleHandle,
+ ConsoleGuid,
+- &Interface
++ (VOID**)&Interface
+ );
+ }
+
+@@ -1079,7 +1079,7 @@ SEnvConnectConsole (
+ Status = BS->HandleProtocol (
+ AllHandleBuffer[Index],
+ &gEfiDevicePathProtocolGuid,
+- &Interface
++ (VOID**)&Interface
+ );
+ if (!EFI_ERROR (Status)) {
+ ConsoleIndex = Index;
+@@ -1095,7 +1095,7 @@ SEnvConnectConsole (
+ BS->HandleProtocol (
+ *ConsoleHandle,
+ ConsoleGuid,
+- ConsoleInterface
++ (VOID**)ConsoleInterface
+ );
+ }
+
+diff --git a/shellenv/dprot.c b/shellenv/dprot.c
+index 91faa50..c5078c9 100644
+--- a/shellenv/dprot.c
++++ b/shellenv/dprot.c
+@@ -23,7 +23,7 @@ Revision History
+
+ #include "shelle.h"
+ #include "shellenvguid.h"
+-#include "acpi.h"
++#include "Acpi.h"
+
+ STATIC CHAR16 *SEnvDP_IlleagalStr[] = { L"Illegal" };
+
+diff --git a/shellenv/exec.c b/shellenv/exec.c
+index a6c1b73..f825588 100644
+--- a/shellenv/exec.c
++++ b/shellenv/exec.c
+@@ -1872,7 +1872,7 @@ Returns:
+ return Status;
+ }
+ //
+- // Processing foo: or foo:\
++ // Processing foo:\ or foo:
+ //
+ if (PathPos != -1 && Ptr1 == NULL) {
+ return Status;
+diff --git a/shellenv/for.c b/shellenv/for.c
+index 99664ad..93ab1f2 100644
+--- a/shellenv/for.c
++++ b/shellenv/for.c
+@@ -24,7 +24,7 @@ Revision History
+ #include "shelle.h"
+ #include "shellenvguid.h"
+
+-/*
++#if 0
+ BOOLEAN
+ CheckInterValue (
+ IN CHAR16 *wszValueStr,
+@@ -190,7 +190,7 @@ Arguments:
+ Returns:
+ EFI_SUCCESS The function finished sucessfully
+
+---
++--*/
+ {
+ EFI_BATCH_STATEMENT *Stmt;
+ EFI_LIST_ENTRY FileList;
+@@ -326,7 +326,8 @@ Done:
+
+ return Status;
+ }
+-*/
++#endif
++
+ EFI_STATUS
+ SEnvCmdForRun (
+ IN EFI_HANDLE hImageHandle,
+diff --git a/shellenv/init.c b/shellenv/init.c
+index dad9002..458c6eb 100644
+--- a/shellenv/init.c
++++ b/shellenv/init.c
+@@ -143,7 +143,7 @@ Returns:
+ Status = BS->HandleProtocol (
+ mOldSEnv->Handle,
+ &ShellEnvProtocol,
+- &(mOldSEnv->Interface)
++ (VOID**)&(mOldSEnv->Interface)
+ );
+ ASSERT (!EFI_ERROR (Status));
+ Status = BS->ReinstallProtocolInterface (
+diff --git a/shellenv/map.c b/shellenv/map.c
+index 3ebf2b4..297f689 100644
+--- a/shellenv/map.c
++++ b/shellenv/map.c
+@@ -2038,13 +2038,13 @@ Returns:
+ 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 --git a/shellenv/protid.c b/shellenv/protid.c
+index 3edca2c..a9401e7 100644
+--- a/shellenv/protid.c
++++ b/shellenv/protid.c
+@@ -1183,7 +1183,7 @@ GetDriverName (
+ *DriverName = LibDevicePathToStr (Image->FilePath);
+ }
+ } else {
+- LibGetDriverName (DriverBindingHandle, Language, DriverName);
++ LibGetDriverName (DriverBindingHandle, (CHAR8*)Language, DriverName);
+ }
+
+ return EFI_SUCCESS;
+@@ -1539,7 +1539,7 @@ Returns:
+
+ 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);
+@@ -1598,14 +1598,14 @@ Returns:
+ Image = FALSE;
+ Status = GetDriverName (
+ DriverBindingHandleBuffer[Index],
+- Language,
++ (UINT8*)Language,
+ FALSE,
+ &DriverName
+ );
+ if (DriverName == NULL) {
+ Status = GetDriverName (
+ DriverBindingHandleBuffer[Index],
+- Language,
++ (UINT8*)Language,
+ TRUE,
+ &DriverName
+ );
+@@ -1792,7 +1792,7 @@ Returns:
+
+ Status = GetDriverName (
+ Handle,
+- Language,
++ (UINT8*)Language,
+ FALSE,
+ &DriverName
+ );
+@@ -1806,7 +1806,7 @@ Returns:
+
+ Status = GetDriverName (
+ Handle,
+- Language,
++ (UINT8*)Language,
+ TRUE,
+ &DriverName
+ );
+@@ -1979,7 +1979,7 @@ Returns:
+
+ if (Prot->Handles[Index] == Handle) {
+ Dump = Verbose ? Prot->DumpInfo : Prot->DumpToken;
+- Status = BS->HandleProtocol (Handle, &Prot->ProtocolId, &Interface);
++ Status = BS->HandleProtocol (Handle, &Prot->ProtocolId, (VOID**)&Interface);
+ if (!EFI_ERROR (Status)) {
+ if (Verbose) {
+ for (Index1 = 0; Index1 < ProtocolBufferCount; Index1++) {
+@@ -2027,7 +2027,7 @@ Returns:
+ goto Done;
+ }
+
+- Status = BS->HandleProtocol (Handle, ProtocolBuffer[Index1], &Interface);
++ Status = BS->HandleProtocol (Handle, ProtocolBuffer[Index1], (VOID**)&Interface);
+ if (!EFI_ERROR (Status)) {
+ PrintToken (
+ STRING_TOKEN (STR_SHELLENV_PROTID_TWO_VARS_HG_NEW),
+diff --git a/stall/stall.inf b/stall/stall.inf
+index 58545a5..0c50120 100644
+--- a/stall/stall.inf
++++ b/stall/stall.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/time/time.c b/time/time.c
+index 00dd586..a0adbfe 100644
+--- a/time/time.c
++++ b/time/time.c
+@@ -64,8 +64,8 @@ STATIC
+ BOOLEAN
+ GetNumber (
+ IN CHAR16 *Str,
+- IN OUT INTN *Offset,
+- IN OUT INTN *number,
++ IN OUT UINTN *Offset,
++ IN OUT UINTN *number,
+ IN BOOLEAN GetSecond
+ );
+
+@@ -296,8 +296,8 @@ STATIC
+ BOOLEAN
+ GetNumber (
+ IN CHAR16 *Str,
+- IN OUT INTN *Offset,
+- IN OUT INTN *Number,
++ IN OUT UINTN *Offset,
++ IN OUT UINTN *Number,
+ IN BOOLEAN GetSecond
+ )
+ {
+diff --git a/time/time.inf b/time/time.inf
+index 5181280..5b65e49 100644
+--- a/time/time.inf
++++ b/time/time.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/touch/touch.c b/touch/touch.c
+index 0938d34..a5f61b8 100644
+--- a/touch/touch.c
++++ b/touch/touch.c
+@@ -64,7 +64,7 @@ TouchFreeFileArg (
+ //
+ // Global Variables
+ //
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiTouchGuid = EFI_TOUCH_GUID;
+ SHELL_VAR_CHECK_ITEM TouchCheckList[] = {
+ {
+diff --git a/touch/touch.inf b/touch/touch.inf
+index 5382ff6..1a89a90 100644
+--- a/touch/touch.inf
++++ b/touch/touch.inf
+@@ -39,23 +39,23 @@ FILE_GUID = 2EBB94E8-3792-47bb-8843-4D5ED5B98F28
+ 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 --git a/type/type.c b/type/type.c
+index 129f911..c3855ef 100644
+--- a/type/type.c
++++ b/type/type.c
+@@ -59,7 +59,7 @@ BOOLEAN TypeAscii;
+ 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 --git a/type/type.inf b/type/type.inf
+index efb0a82..23138c6 100644
+--- a/type/type.inf
++++ b/type/type.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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 --git a/tzone/timezone.inf b/tzone/timezone.inf
+index 57834c6..525a9cb 100644
+--- a/tzone/timezone.inf
++++ b/tzone/timezone.inf
+@@ -25,24 +25,24 @@ FILE_GUID = E27B12B9-2647-4af3-ADBC-B5AB5FB50421
+ 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 --git a/unload/unload.c b/unload/unload.c
+index 100f16b..daeaf05 100644
+--- a/unload/unload.c
++++ b/unload/unload.c
+@@ -110,7 +110,7 @@ _UnloadGetDriverName (
+ *DriverName = LibDevicePathToStr (Image->FilePath);
+ }
+ } else {
+- LibGetDriverName(DriverBindingHandle, Language, DriverName);
++ LibGetDriverName(DriverBindingHandle, (CHAR8*)Language, DriverName);
+ }
+
+ return EFI_SUCCESS;
+@@ -184,7 +184,7 @@ Returns:
+
+ 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);
+@@ -242,14 +242,14 @@ Returns:
+ Image = FALSE;
+ Status = _UnloadGetDriverName (
+ DriverBindingHandleBuffer[Index],
+- Language,
++ (UINT8*)Language,
+ FALSE,
+ &DriverName
+ );
+ if (DriverName == NULL) {
+ Status = _UnloadGetDriverName (
+ DriverBindingHandleBuffer[Index],
+- Language,
++ (UINT8*)Language,
+ TRUE,
+ &DriverName
+ );
+@@ -436,7 +436,7 @@ Returns:
+
+ Status = _UnloadGetDriverName (
+ Handle,
+- Language,
++ (UINT8*)Language,
+ FALSE,
+ &DriverName
+ );
+@@ -450,7 +450,7 @@ Returns:
+
+ Status = _UnloadGetDriverName (
+ Handle,
+- Language,
++ (UINT8*)Language,
+ TRUE,
+ &DriverName
+ );
+@@ -628,7 +628,7 @@ Returns:
+
+ if (Prot->Handles[Index] == Handle) {
+ Dump = Verbose ? Prot->DumpInfo : Prot->DumpToken;
+- Status = BS->HandleProtocol (Handle, &Prot->ProtocolId, &Interface);
++ Status = BS->HandleProtocol (Handle, &Prot->ProtocolId, (VOID**)&Interface);
+ if (!EFI_ERROR (Status)) {
+ if (Verbose) {
+ for (Index1 = 0; Index1 < ProtocolBufferCount; Index1++) {
+@@ -676,7 +676,7 @@ Returns:
+ goto Done;
+ }
+
+- Status = BS->HandleProtocol (Handle, ProtocolBuffer[Index1], &Interface);
++ Status = BS->HandleProtocol (Handle, ProtocolBuffer[Index1], (VOID**)&Interface);
+ if (!EFI_ERROR (Status)) {
+ PrintToken (STRING_TOKEN (STR_UNLOAD_TWO_VARS_HG_NEW), HiiUnloadHandle, ProtocolBuffer[Index1], Interface);
+ }
+diff --git a/unload/unload.inf b/unload/unload.inf
+index e91869e..d3475e0 100644
+--- a/unload/unload.inf
++++ b/unload/unload.inf
+@@ -39,23 +39,23 @@ FILE_GUID = 409060F4-3E7B-44cc-9DFD-A8E807474888
+ 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 --git a/ver/Ebc/verEbc.c b/ver/Ebc/verEbc.c
+index 1d7368d..9518e14 100644
+--- a/ver/Ebc/verEbc.c
++++ b/ver/Ebc/verEbc.c
+@@ -45,7 +45,7 @@ DisplayExtendedVersionInfo (
+ Status = BS->LocateProtocol (
+ &gEfiEbcProtocolGuid,
+ NULL,
+- &Ebc
++ (VOID**)&Ebc
+ );
+ if (EFI_ERROR (Status)) {
+ return ;
+diff --git a/ver/Ver.inf b/ver/Ver.inf
+index 56a135d..574a297 100644
+--- a/ver/Ver.inf
++++ b/ver/Ver.inf
+@@ -40,33 +40,33 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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
++ eb./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 --git a/vol/Vol.inf b/vol/Vol.inf
+index 71d2cb5..c05ddaf 100644
+--- a/vol/Vol.inf
++++ b/vol/Vol.inf
+@@ -40,24 +40,24 @@ COMPONENT_TYPE = APPLICATION
+
+
+ [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
+diff --git a/vol/vol.c b/vol/vol.c
+index 47a4de0..13be9fb 100644
+--- a/vol/vol.c
++++ b/vol/vol.c
+@@ -32,7 +32,7 @@ extern UINT8 STRING_ARRAY_NAME[];
+ //
+ #include STRING_DEFINES_FILE
+
+-EFI_HII_HANDLE HiiHandle;
++STATIC EFI_HII_HANDLE HiiHandle;
+ EFI_GUID EfiVolGuid = EFI_VOL_GUID;
+ SHELL_VAR_CHECK_ITEM VolCheckList[] = {
+ {