From 740ee2ea4048b4a85345024a90c39887304c28f3 Mon Sep 17 00:00:00 2001 From: rsun3 Date: Fri, 5 Nov 2010 03:08:17 +0000 Subject: [PATCH] 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 --- MdePkg/Include/Uefi/UefiBaseType.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) /// -- 2.39.2