1. Data type for GcdMemoryType and GcdIoType is enumeration type
rather than bit field, so we need to use strict equation "=="
instead of bit-and "&";
2. Testing for GcdIoType should use EfiGcdIoType*** constants
rather than EfiGcdMemoryType***;
3. As we are going to use strict equation, it is clearer to use
switch-case than if-else.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Heyi Guo <heyi....@linaro.org>
---
 ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c | 31 +++++++++++++++++++++-------
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c 
b/ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c
index 8999910..4a5f2be 100644
--- a/ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c
+++ b/ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c
@@ -325,14 +325,23 @@ EblDumpGcd (
     if (MemorySpaceMap[i].Attributes & EFI_MEMORY_XP)
         AsciiPrint (" MEM_XP");
 
-    if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeNonExistent)
+    switch (MemorySpaceMap[i].GcdMemoryType) {
+      case EfiGcdMemoryTypeNonExistent:
         AsciiPrint (" TYPE_NONEXISTENT");
-    if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeReserved)
+        break;
+      case EfiGcdMemoryTypeReserved:
         AsciiPrint (" TYPE_RESERVED");
-    if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeSystemMemory)
+        break;
+      case EfiGcdMemoryTypeSystemMemory:
         AsciiPrint (" TYPE_SYSMEM");
-    if (MemorySpaceMap[i].GcdMemoryType & EfiGcdMemoryTypeMemoryMappedIo)
+        break;
+      case EfiGcdMemoryTypeMemoryMappedIo:
         AsciiPrint (" TYPE_MEMMAP");
+        break;
+      default:
+        AsciiPrint (" TYPE_UNKNOWN");
+        break;
+    }
 
     AsciiPrint ("\n");
   }
@@ -347,12 +356,20 @@ EblDumpGcd (
     AsciiPrint ("IO  %08lx - 
%08lx",IoSpaceMap[i].BaseAddress,IoSpaceMap[i].BaseAddress+IoSpaceMap[i].Length);
     AsciiPrint ("\t%08x 
%08x",IoSpaceMap[i].ImageHandle,IoSpaceMap[i].DeviceHandle);
 
-    if (IoSpaceMap[i].GcdIoType & EfiGcdMemoryTypeNonExistent)
+    switch (IoSpaceMap[i].GcdIoType) {
+      case EfiGcdIoTypeNonExistent:
         AsciiPrint (" TYPE_NONEXISTENT");
-    if (IoSpaceMap[i].GcdIoType & EfiGcdMemoryTypeReserved)
+        break;
+      case EfiGcdIoTypeReserved:
         AsciiPrint (" TYPE_RESERVED");
-    if (IoSpaceMap[i].GcdIoType & EfiGcdIoTypeIo)
+        break;
+      case EfiGcdIoTypeIo:
         AsciiPrint (" TYPE_IO");
+        break;
+      default:
+        AsciiPrint (" TYPE_UNKNOWN");
+        break;
+    }
 
     AsciiPrint ("\n");
   }
-- 
2.1.4


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to