Update Code to pass EBC compiler.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14352 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c
index afeb221..d1b7dcf 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 @@
   // 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 b004067..4f4d63d 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 835f621..444cd83 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 ce17e4f..dae12a4 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 @@
   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 @@
   //

   // 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 @@
       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 2a9fcb9..790e44b 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 @@
   NULL,

   NULL,

   NULL,

-  EFI_NOT_READY,

+  0,

   {

     0,

     0,

@@ -109,6 +109,8 @@
   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 3055cf6..b5848b7 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 522038f..4fdcf6d 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 0274229..6d48ae3 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 9c8c906..54b5b24 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 78e432b..2725f4a 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 @@
           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 11abee0..9ce915b 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 @@
       //

       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 ce1eb1f..f1b20a1 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 @@
       // 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;

       }

 

       //