+ UINTN Granularity;\r
+ UINTN Padding;\r
+\r
+ if ((MemoryType != EfiLoaderCode) &&\r
+ (MemoryType != EfiLoaderData) &&\r
+ (MemoryType != EfiRuntimeServicesCode) &&\r
+ (MemoryType != EfiRuntimeServicesData) &&\r
+ (MemoryType != EfiBootServicesCode) &&\r
+ (MemoryType != EfiBootServicesData) &&\r
+ (MemoryType != EfiACPIReclaimMemory) &&\r
+ (MemoryType != EfiReservedMemoryType) &&\r
+ (MemoryType != EfiACPIMemoryNVS)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ Granularity = DEFAULT_PAGE_ALLOCATION_GRANULARITY;\r
+\r
+ if (RUNTIME_PAGE_ALLOCATION_GRANULARITY > DEFAULT_PAGE_ALLOCATION_GRANULARITY &&\r
+ (MemoryType == EfiACPIReclaimMemory ||\r
+ MemoryType == EfiACPIMemoryNVS ||\r
+ MemoryType == EfiRuntimeServicesCode ||\r
+ MemoryType == EfiRuntimeServicesData)) {\r
+\r
+ Granularity = RUNTIME_PAGE_ALLOCATION_GRANULARITY;\r
+\r
+ DEBUG ((DEBUG_INFO, "AllocatePages: aligning allocation to %d KB\n",\r
+ Granularity / SIZE_1KB));\r
+ }\r