diff --git a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c
index afeb2213c0..d1b7dcf416 100644
--- a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c
+++ b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c
@@ -1,7 +1,7 @@
 /** @file
 Floppy Peim to support Recovery function from Floppy device.
 
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
   
 This program and the accompanying materials
 are licensed and made available under the terms and conditions
@@ -1018,22 +1018,12 @@ DiscoverFdcDevice (
   // Check Media
   //
   Status = DisketChanged (FdcBlkIoDev, Info);
-  switch (Status) {
-  case EFI_NO_MEDIA:
+  if (Status == EFI_NO_MEDIA) {
     //
     // No diskette in floppy.
     //
-    MediaInfo->MediaPresent = FALSE;
-    break;
-
-  case EFI_MEDIA_CHANGED:
-  case EFI_SUCCESS:
-    //
-    // Diskette exists in floppy.
-    //
-    break;
-
-  default:
+    MediaInfo->MediaPresent = FALSE;    
+  } else if (Status != EFI_MEDIA_CHANGED && Status != EFI_SUCCESS) {
     //
     // EFI_DEVICE_ERROR
     //
diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
index b004067155..4f4d63dc4a 100644
--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
@@ -3,7 +3,7 @@
 #
 # This file is used to build all modules in IntelFrameworkModulePkg.
 #
-#Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
+#Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
 #This program and the accompanying materials are licensed and made available under 
 #the terms and conditions of the BSD License that accompanies this distribution.  
 #The full text of the license may be found at
@@ -80,6 +80,9 @@
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
 
+[LibraryClasses.EBC.PEIM]
+  IoLib|MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf
+
 [LibraryClasses.common.DXE_DRIVER]
   LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
 
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 835f621b69..444cd8358c 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -1,7 +1,7 @@
 ## @file
 # EFI/PI Reference Module Package for All Architectures
 #
-# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
 #
 #    This program and the accompanying materials
 #    are licensed and made available under the terms and conditions of the BSD License
@@ -151,6 +151,8 @@
   #
   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
 
+[LibraryClasses.EBC]
+  LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
 
 [PcdsFeatureFlag]
   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
@@ -242,8 +244,6 @@
   MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
   MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
   MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLevelLib.inf
-  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
-  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
   MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
   MdeModulePkg/Library/PeiDebugPrintHobLib/PeiDebugPrintHobLib.inf
   MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
@@ -336,6 +336,8 @@
   MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
   MdeModulePkg/Library/DxeSmmPerformanceLib/DxeSmmPerformanceLib.inf
   MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
+  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
+  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
   MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
   MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
diff --git a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.c b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.c
index ce17e4f928..dae12a4869 100644
--- a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.c
+++ b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.c
@@ -5,7 +5,7 @@
   for Firmware Basic Boot Performance Record and other boot performance records, 
   and install FPDT to ACPI table.
 
-  Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>
   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
@@ -238,7 +238,7 @@ InstallFirmwarePerformanceDataTable (
   EFI_ACPI_TABLE_PROTOCOL       *AcpiTableProtocol;
   EFI_PHYSICAL_ADDRESS          Address;
   UINTN                         Size;
-  UINT8                         SmmBootRecordCommBuffer[SMM_BOOT_RECORD_COMM_SIZE];
+  UINT8                         *SmmBootRecordCommBuffer;
   EFI_SMM_COMMUNICATE_HEADER    *SmmCommBufferHeader;
   SMM_BOOT_RECORD_COMMUNICATE   *SmmCommData;
   UINTN                         CommSize;
@@ -259,6 +259,8 @@ InstallFirmwarePerformanceDataTable (
   //
   // Collect boot records from SMM drivers.
   //
+  SmmBootRecordCommBuffer = AllocateZeroPool (SMM_BOOT_RECORD_COMM_SIZE);
+  ASSERT (SmmBootRecordCommBuffer != NULL);
   SmmCommData = NULL;
   Status = gBS->LocateProtocol (&gEfiSmmCommunicationProtocolGuid, NULL, (VOID **) &Communication);
   if (!EFI_ERROR (Status)) {
@@ -294,6 +296,7 @@ InstallFirmwarePerformanceDataTable (
       ASSERT_EFI_ERROR(SmmCommData->ReturnStatus);
     }
   }
+  FreePool (SmmBootRecordCommBuffer);
 
   //
   // Prepare memory for runtime Performance Record. 
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
index 2a9fcb94e5..790e44be4c 100644
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
+++ b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
@@ -1,7 +1,7 @@
 /** @file
   The driver binding for IP4 CONFIG protocol.
 
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
 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<BR>
@@ -71,7 +71,7 @@ IP4_CONFIG_INSTANCE        mIp4ConfigTemplate = {
   NULL,
   NULL,
   NULL,
-  EFI_NOT_READY,
+  0,
   {
     0,
     0,
@@ -109,6 +109,8 @@ Ip4ConfigDriverEntryPoint (
   IN EFI_SYSTEM_TABLE       *SystemTable
   )
 {
+  mIp4ConfigTemplate.Result = EFI_NOT_READY;
+
   return EfiLibInstallDriverBindingComponentName2 (
            ImageHandle,
            SystemTable,
diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc
index 3055cf675d..b5848b7e95 100644
--- a/NetworkPkg/NetworkPkg.dsc
+++ b/NetworkPkg/NetworkPkg.dsc
@@ -1,7 +1,7 @@
 ## @file
 # UEFI 2.2 Network Module Package for All Architectures
 #
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
 #
 #    This program and the accompanying materials
 #    are licensed and made available under the terms and conditions of the BSD License
@@ -85,17 +85,18 @@
 ###################################################################################################
 
 [Components]
-  NetworkPkg/IpSecDxe/IpSecDxe.inf
   NetworkPkg/Ip6Dxe/Ip6Dxe.inf
   NetworkPkg/TcpDxe/TcpDxe.inf
   NetworkPkg/Udp6Dxe/Udp6Dxe.inf
   NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
   NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
 
-[Components.IA32, Components.X64, Components.IPF]
-  NetworkPkg/IScsiDxe/IScsiDxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  NetworkPkg/Application/Ping6/Ping6.inf
   NetworkPkg/Application/IfConfig6/IfConfig6.inf
   NetworkPkg/Application/IpsecConfig/IpSecConfig.inf
   NetworkPkg/Application/VConfig/VConfig.inf
+
+[Components.IA32, Components.X64, Components.IPF]
+  NetworkPkg/IpSecDxe/IpSecDxe.inf
+  NetworkPkg/IScsiDxe/IScsiDxe.inf
+  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+  NetworkPkg/Application/Ping6/Ping6.inf
diff --git a/OptionRomPkg/OptionRomPkg.dsc b/OptionRomPkg/OptionRomPkg.dsc
index 522038f280..4fdcf6d9b3 100644
--- a/OptionRomPkg/OptionRomPkg.dsc
+++ b/OptionRomPkg/OptionRomPkg.dsc
@@ -6,7 +6,7 @@
 # Option ROM image for all CPU architectures, including EBC target.
 # A single driver can support mixes of EFI 1.1, UEFI 2.0 and UEFI 2.1.
 #
-# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
 #
 # This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
@@ -101,9 +101,9 @@
   OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
   OptionRomPkg/Library/GopBltLib/GopBltLib.inf
 
-  OptionRomPkg/Application/BltLibSample/BltLibSample.inf
-
   OptionRomPkg/AtapiPassThruDxe/AtapiPassThruDxe.inf
   OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf
   OptionRomPkg/UndiRuntimeDxe/UndiRuntimeDxe.inf
 
+[Components.IA32, Components.X64, Components.IPF]
+  OptionRomPkg/Application/BltLibSample/BltLibSample.inf
diff --git a/PerformancePkg/PerformancePkg.dsc b/PerformancePkg/PerformancePkg.dsc
index 0274229e22..6d48ae30a5 100644
--- a/PerformancePkg/PerformancePkg.dsc
+++ b/PerformancePkg/PerformancePkg.dsc
@@ -1,7 +1,7 @@
 ## @file
 # Build description file to generate Shell DP application.
 #
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
 # 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
@@ -70,6 +70,9 @@
   PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf
   TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
 
+[LibraryClasses.EBC]
+  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
+
 [Components.IA32, Components.X64]
   PerformancePkg/Library/TscTimerLib/DxeTscTimerLib.inf
   PerformancePkg/Library/TscTimerLib/PeiTscTimerLib.inf
diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc
index 9c8c9060e8..54b5b2464d 100644
--- a/SecurityPkg/SecurityPkg.dsc
+++ b/SecurityPkg/SecurityPkg.dsc
@@ -1,7 +1,7 @@
 ## @file
 #  Security Module Package for All Architectures.
 #
-# Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
 # 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
@@ -92,8 +92,6 @@
   SecurityPkg/Library/DxeImageAuthenticationStatusLib/DxeImageAuthenticationStatusLib.inf
   SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManagerDxe.inf
   SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf
-  SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProviderDxe.inf
-  SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProviderDxe.inf
 
   #
   # Application
@@ -104,29 +102,35 @@
   # TPM
   #
   SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
-  SecurityPkg/Tcg/TcgPei/TcgPei.inf
-  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
+  SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
+
   SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf
   SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
+  
+[Components.IA32, Components.X64, Components.IPF]
+  SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProviderDxe.inf
+  SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProviderDxe.inf
+  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
+  SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf
+
+  #
+  # TPM
+  #
+  SecurityPkg/Tcg/TcgPei/TcgPei.inf
+  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
   SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf {
     <LibraryClasses>
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
   }
-  SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
-  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
-  
+
 [Components.IA32, Components.X64]
-  SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf
   SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableSmm.inf
   SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableSmmRuntimeDxe.inf
+  SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
 
 [Components.IPF]
   SecurityPkg/VariableAuthenticated/EsalVariableDxeSal/EsalVariableDxeSal.inf 
 
-[Components.EBC]
-# Build only
-  SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf 
-
 [BuildOptions]
    MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:256
   INTEL:*_*_IA32_DLINK_FLAGS = /ALIGN:256
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
index 78e432bcd4..2725f4ad39 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
@@ -1,7 +1,7 @@
 /** @file
   Main file for map shell level 2 command.
 
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
   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
@@ -1091,18 +1091,15 @@ ShellCommandRunMap (
           if (SName != NULL) {
             Status = PerformMappingDelete(SName);
             if (EFI_ERROR(Status)) {
-              switch (Status) {
-                case EFI_ACCESS_DENIED:
-                  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellLevel2HiiHandle);
-                  ShellStatus = SHELL_ACCESS_DENIED;
-                  break;
-                case EFI_NOT_FOUND:
-                  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_MAP_NF), gShellLevel2HiiHandle, SName);
-                  ShellStatus = SHELL_INVALID_PARAMETER;
-                  break;
-                default:
-                  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_UK), gShellLevel2HiiHandle, Status);
-                  ShellStatus = SHELL_UNSUPPORTED;
+              if (Status == EFI_ACCESS_DENIED) {
+                ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellLevel2HiiHandle);
+                ShellStatus = SHELL_ACCESS_DENIED;
+              } else if (Status == EFI_NOT_FOUND) {
+                ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_MAP_NF), gShellLevel2HiiHandle, SName);
+                ShellStatus = SHELL_INVALID_PARAMETER;
+              } else {
+                ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_UK), gShellLevel2HiiHandle, Status);
+                ShellStatus = SHELL_UNSUPPORTED;
               }
             }
           } else {
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Mv.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/Mv.c
index 11abee0766..9ce915b96c 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Mv.c
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Mv.c
@@ -1,7 +1,7 @@
 /** @file
   Main file for mv shell level 2 function.
 
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
   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
@@ -404,23 +404,18 @@ ValidateAndMoveFiles(
       //
       if (EFI_ERROR(Status)) {
         ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_UK), gShellLevel2HiiHandle, Status);
-        //
-        // move failed
-        //
-        switch(Status){
-          default:
-            ShellStatus = SHELL_INVALID_PARAMETER;
-          case EFI_SECURITY_VIOLATION:
-            ShellStatus = SHELL_SECURITY_VIOLATION;
-          case EFI_WRITE_PROTECTED:
-            ShellStatus = SHELL_WRITE_PROTECTED;
-          case EFI_OUT_OF_RESOURCES:
-            ShellStatus = SHELL_OUT_OF_RESOURCES;
-          case EFI_DEVICE_ERROR:
-            ShellStatus = SHELL_DEVICE_ERROR;
-          case EFI_ACCESS_DENIED:
-            ShellStatus = SHELL_ACCESS_DENIED;
-        } // switch
+        ShellStatus = SHELL_INVALID_PARAMETER;
+        if (Status == EFI_SECURITY_VIOLATION) {
+          ShellStatus = SHELL_SECURITY_VIOLATION;
+        } else if (Status == EFI_WRITE_PROTECTED) {
+          ShellStatus = SHELL_WRITE_PROTECTED;
+        } else if (Status == EFI_OUT_OF_RESOURCES) {
+          ShellStatus = SHELL_OUT_OF_RESOURCES;
+        } else if (Status == EFI_DEVICE_ERROR) {
+          ShellStatus = SHELL_DEVICE_ERROR;
+        } else if (Status == EFI_ACCESS_DENIED) {
+          ShellStatus = SHELL_ACCESS_DENIED;
+        }
       } else {
         ShellPrintEx(-1, -1, L"%s", HiiResultOk);
       }
diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/GetMtc.c b/ShellPkg/Library/UefiShellLevel3CommandsLib/GetMtc.c
index ce1eb1fcf0..f1b20a13e3 100644
--- a/ShellPkg/Library/UefiShellLevel3CommandsLib/GetMtc.c
+++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/GetMtc.c
@@ -1,7 +1,7 @@
 /** @file
   Main file for GetMtc shell level 3 function.
 
-  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved. <BR>
+  Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved. <BR>
   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
@@ -70,17 +70,12 @@ ShellCommandRunGetMtc (
       // Get the monotonic counter count
       //
       Status = gBS->GetNextMonotonicCount(&Mtc);
-      switch(Status) {
-        case EFI_DEVICE_ERROR:
-          ShellStatus = SHELL_DEVICE_ERROR;
-          break;
-        case EFI_SECURITY_VIOLATION:
-          ShellStatus = SHELL_SECURITY_VIOLATION;
-          break;
-        default:
-          if (EFI_ERROR(Status)) {
-            ShellStatus = SHELL_DEVICE_ERROR;
-          }
+      if (Status == EFI_DEVICE_ERROR) {
+        ShellStatus = SHELL_DEVICE_ERROR;
+      } else if (Status == EFI_SECURITY_VIOLATION) {
+        ShellStatus = SHELL_SECURITY_VIOLATION;
+      } else if (EFI_ERROR(Status)) {
+        ShellStatus = SHELL_DEVICE_ERROR;
       }
 
       //