summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Core/PiSmmCore
diff options
context:
space:
mode:
authorJian J Wang <jian.j.wang@intel.com>2017-11-20 10:59:41 +0800
committerStar Zeng <star.zeng@intel.com>2017-11-20 14:44:21 +0800
commitf9ebb0b131967e24f58ec25aff0a50bc0215329e (patch)
tree1bb09cbdc21a4f456d357c2b96a6df3cbc602a8b /MdeModulePkg/Core/PiSmmCore
parent94edadf502bd0e61f00bb08a5df2e078af54a770 (diff)
downloadedk2-f9ebb0b131967e24f58ec25aff0a50bc0215329e.tar.gz
edk2-f9ebb0b131967e24f58ec25aff0a50bc0215329e.tar.bz2
edk2-f9ebb0b131967e24f58ec25aff0a50bc0215329e.zip
MdeModulePkg/Core: Fix build error with old Visual Studio
The build error is introduced by following check in: 2930ef9809976ce693d1d377851344c3b06bd926 235a4490c8ce8b6dbac49e6ae3559cb73d6bf620 The Visual Studio older than 2015 doesn't support constant integer in binary format (0bxxx). This patch changes them to BIT macro to fix it. This patch also cleans up coding style about unmatched comment for return value. Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Bi Dandan <dandan.bi@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/Core/PiSmmCore')
-rw-r--r--MdeModulePkg/Core/PiSmmCore/HeapGuard.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/MdeModulePkg/Core/PiSmmCore/HeapGuard.c b/MdeModulePkg/Core/PiSmmCore/HeapGuard.c
index 6fda9ba430..c7a1408562 100644
--- a/MdeModulePkg/Core/PiSmmCore/HeapGuard.c
+++ b/MdeModulePkg/Core/PiSmmCore/HeapGuard.c
@@ -385,7 +385,7 @@ ClearGuardedMemoryBits (
@param[in] Address Memory address to retrieve from.
@param[in] NumberOfPages Number of pages to retrieve.
- @return VOID
+ @return An integer containing the guarded memory bitmap.
**/
UINTN
GetGuardedMemoryBits (
@@ -513,8 +513,13 @@ IsGuardPage (
{
UINTN BitMap;
+ //
+ // There must be at least one guarded page before and/or after given
+ // address if it's a Guard page. The bitmap pattern should be one of
+ // 001, 100 and 101
+ //
BitMap = GetGuardedMemoryBits (Address - EFI_PAGE_SIZE, 3);
- return ((BitMap == 0b001) || (BitMap == 0b100) || (BitMap == 0b101));
+ return ((BitMap == BIT0) || (BitMap == BIT2) || (BitMap == (BIT2 | BIT0)));
}
/**
@@ -531,7 +536,7 @@ IsHeadGuard (
IN EFI_PHYSICAL_ADDRESS Address
)
{
- return (GetGuardedMemoryBits (Address, 2) == 0b10);
+ return (GetGuardedMemoryBits (Address, 2) == BIT1);
}
/**
@@ -548,7 +553,7 @@ IsTailGuard (
IN EFI_PHYSICAL_ADDRESS Address
)
{
- return (GetGuardedMemoryBits (Address - EFI_PAGE_SIZE, 2) == 0b01);
+ return (GetGuardedMemoryBits (Address - EFI_PAGE_SIZE, 2) == BIT0);
}
/**