summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-11-05 03:08:17 +0000
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-11-05 03:08:17 +0000
commit740ee2ea4048b4a85345024a90c39887304c28f3 (patch)
treefc8188503124420902d6eb5f3999f7856a40c86f
parentc5e0de8794346f0e11ae63f1e7705e784dcd5f81 (diff)
downloadedk2-platforms-740ee2ea4048b4a85345024a90c39887304c28f3.tar.xz
Add comment about usage on EFI_SIZE_TO_PAGES() and EFI_PAGES_TO_SIZE macros.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11004 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdePkg/Include/Uefi/UefiBaseType.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h
index 6e522807da..5b8a762072 100644
--- a/MdePkg/Include/Uefi/UefiBaseType.h
+++ b/MdePkg/Include/Uefi/UefiBaseType.h
@@ -188,8 +188,12 @@ typedef union {
#define EFI_PAGE_MASK 0xFFF
#define EFI_PAGE_SHIFT 12
+//
+// It is expected that a parameter for the following two macros is of type UINTN.
+// Be careful to pass a UINT64 parameter because 32-bit build break may happen
+// if << or >> shift operations are performed on a 64-bit integer with 32-bit C compiler.
+//
#define EFI_SIZE_TO_PAGES(a) (((a) >> EFI_PAGE_SHIFT) + (((a) & EFI_PAGE_MASK) ? 1 : 0))
-
#define EFI_PAGES_TO_SIZE(a) ( (a) << EFI_PAGE_SHIFT)
///