summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/Library
diff options
context:
space:
mode:
authorHeyi Guo <heyi.guo@linaro.org>2015-05-27 15:11:19 +0000
committeroliviermartin <oliviermartin@Edk2>2015-05-27 15:11:19 +0000
commit9507640c625d31b4ce3e5b45d8db58151b781dcb (patch)
tree3ec5ea8b2ebfa257916e0be3a4ae5420ae890a8d /ArmPlatformPkg/Library
parent829ea9b2dd8795da26729b4cd192e3e907725809 (diff)
downloadedk2-9507640c625d31b4ce3e5b45d8db58151b781dcb.tar.gz
edk2-9507640c625d31b4ce3e5b45d8db58151b781dcb.tar.bz2
edk2-9507640c625d31b4ce3e5b45d8db58151b781dcb.zip
EmbeddedPkg: Fix Ebl dumpgcd bug with memory type and IO type
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.guo@linaro.org> Reviewed-by: Olivier Martin <Olivier.Martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17527 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/Library')
-rw-r--r--ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c31
1 files changed, 24 insertions, 7 deletions
diff --git a/ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c b/ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.c
index 899991062f..4a5f2be394 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");
}