Status = EFI_SUCCESS;\r
Hdr = NULL;\r
if (PoolIndex == MAX_POOL_INDEX) {\r
- Status = SmmInternalAllocatePages (AllocateAnyPages, PoolType,
- EFI_SIZE_TO_PAGES (MAX_POOL_SIZE << 1),
- &Address, FALSE);
+ Status = SmmInternalAllocatePages (AllocateAnyPages, PoolType,\r
+ EFI_SIZE_TO_PAGES (MAX_POOL_SIZE << 1),\r
+ &Address, FALSE);\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
EFI_STATUS Status;\r
EFI_PHYSICAL_ADDRESS Address;\r
UINTN PoolIndex;\r
- BOOLEAN HasPoolTail;
- BOOLEAN NeedGuard;
- UINTN NoPages;
+ BOOLEAN HasPoolTail;\r
+ BOOLEAN NeedGuard;\r
+ UINTN NoPages;\r
\r
Address = 0;\r
\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- NeedGuard = IsPoolTypeToGuard (PoolType);
- HasPoolTail = !(NeedGuard &&
- ((PcdGet8 (PcdHeapGuardPropertyMask) & BIT7) == 0));
-
+ NeedGuard = IsPoolTypeToGuard (PoolType);\r
+ HasPoolTail = !(NeedGuard &&\r
+ ((PcdGet8 (PcdHeapGuardPropertyMask) & BIT7) == 0));\r
+\r
//\r
// Adjust the size by the pool header & tail overhead\r
//\r
Size += POOL_OVERHEAD;\r
- if (Size > MAX_POOL_SIZE || NeedGuard) {
- if (!HasPoolTail) {
- Size -= sizeof (POOL_TAIL);
- }
-
- NoPages = EFI_SIZE_TO_PAGES (Size);
- Status = SmmInternalAllocatePages (AllocateAnyPages, PoolType, NoPages,
- &Address, NeedGuard);
+ if (Size > MAX_POOL_SIZE || NeedGuard) {\r
+ if (!HasPoolTail) {\r
+ Size -= sizeof (POOL_TAIL);\r
+ }\r
+\r
+ NoPages = EFI_SIZE_TO_PAGES (Size);\r
+ Status = SmmInternalAllocatePages (AllocateAnyPages, PoolType, NoPages,\r
+ &Address, NeedGuard);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- if (NeedGuard) {
- ASSERT (VerifyMemoryGuard (Address, NoPages) == TRUE);
- Address = (EFI_PHYSICAL_ADDRESS)(UINTN)AdjustPoolHeadA (
- Address,
- NoPages,
- Size
- );
- }
-
+ if (NeedGuard) {\r
+ ASSERT (VerifyMemoryGuard (Address, NoPages) == TRUE);\r
+ Address = (EFI_PHYSICAL_ADDRESS)(UINTN)AdjustPoolHeadA (\r
+ Address,\r
+ NoPages,\r
+ Size\r
+ );\r
+ }\r
+\r
PoolHdr = (POOL_HEADER*)(UINTN)Address;\r
PoolHdr->Signature = POOL_HEAD_SIGNATURE;\r
PoolHdr->Size = EFI_PAGES_TO_SIZE (NoPages);\r
PoolHdr->Available = FALSE;\r
PoolHdr->Type = PoolType;\r
-
- if (HasPoolTail) {
- PoolTail = HEAD_TO_TAIL (PoolHdr);
- PoolTail->Signature = POOL_TAIL_SIGNATURE;
- PoolTail->Size = PoolHdr->Size;
- }
-
+\r
+ if (HasPoolTail) {\r
+ PoolTail = HEAD_TO_TAIL (PoolHdr);\r
+ PoolTail->Signature = POOL_TAIL_SIGNATURE;\r
+ PoolTail->Size = PoolHdr->Size;\r
+ }\r
+\r
*Buffer = PoolHdr + 1;\r
return Status;\r
}\r
{\r
FREE_POOL_HEADER *FreePoolHdr;\r
POOL_TAIL *PoolTail;\r
- BOOLEAN HasPoolTail;
- BOOLEAN MemoryGuarded;
+ BOOLEAN HasPoolTail;\r
+ BOOLEAN MemoryGuarded;\r
\r
if (Buffer == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- MemoryGuarded = IsHeapGuardEnabled () &&
- IsMemoryGuarded ((EFI_PHYSICAL_ADDRESS)(UINTN)Buffer);
- HasPoolTail = !(MemoryGuarded &&
- ((PcdGet8 (PcdHeapGuardPropertyMask) & BIT7) == 0));
-
+ MemoryGuarded = IsHeapGuardEnabled () &&\r
+ IsMemoryGuarded ((EFI_PHYSICAL_ADDRESS)(UINTN)Buffer);\r
+ HasPoolTail = !(MemoryGuarded &&\r
+ ((PcdGet8 (PcdHeapGuardPropertyMask) & BIT7) == 0));\r
+\r
FreePoolHdr = (FREE_POOL_HEADER*)((POOL_HEADER*)Buffer - 1);\r
ASSERT (FreePoolHdr->Header.Signature == POOL_HEAD_SIGNATURE);\r
ASSERT (!FreePoolHdr->Header.Available);\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (HasPoolTail) {
- PoolTail = HEAD_TO_TAIL (&FreePoolHdr->Header);
- ASSERT (PoolTail->Signature == POOL_TAIL_SIGNATURE);
- ASSERT (FreePoolHdr->Header.Size == PoolTail->Size);
- if (PoolTail->Signature != POOL_TAIL_SIGNATURE) {
- return EFI_INVALID_PARAMETER;
- }
-
- if (FreePoolHdr->Header.Size != PoolTail->Size) {
- return EFI_INVALID_PARAMETER;
- }
- } else {
- PoolTail = NULL;
+ if (HasPoolTail) {\r
+ PoolTail = HEAD_TO_TAIL (&FreePoolHdr->Header);\r
+ ASSERT (PoolTail->Signature == POOL_TAIL_SIGNATURE);\r
+ ASSERT (FreePoolHdr->Header.Size == PoolTail->Size);\r
+ if (PoolTail->Signature != POOL_TAIL_SIGNATURE) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ if (FreePoolHdr->Header.Size != PoolTail->Size) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ } else {\r
+ PoolTail = NULL;\r
}\r
\r
- if (MemoryGuarded) {
- Buffer = AdjustPoolHeadF ((EFI_PHYSICAL_ADDRESS)(UINTN)FreePoolHdr);
- return SmmInternalFreePages (
- (EFI_PHYSICAL_ADDRESS)(UINTN)Buffer,
- EFI_SIZE_TO_PAGES (FreePoolHdr->Header.Size),
- TRUE
- );
+ if (MemoryGuarded) {\r
+ Buffer = AdjustPoolHeadF ((EFI_PHYSICAL_ADDRESS)(UINTN)FreePoolHdr);\r
+ return SmmInternalFreePages (\r
+ (EFI_PHYSICAL_ADDRESS)(UINTN)Buffer,\r
+ EFI_SIZE_TO_PAGES (FreePoolHdr->Header.Size),\r
+ TRUE\r
+ );\r
}\r
\r
if (FreePoolHdr->Header.Size > MAX_POOL_SIZE) {\r
ASSERT ((FreePoolHdr->Header.Size & EFI_PAGE_MASK) == 0);\r
return SmmInternalFreePages (\r
(EFI_PHYSICAL_ADDRESS)(UINTN)FreePoolHdr,\r
- EFI_SIZE_TO_PAGES (FreePoolHdr->Header.Size),
- FALSE
+ EFI_SIZE_TO_PAGES (FreePoolHdr->Header.Size),\r
+ FALSE\r
);\r
}\r
return InternalFreePoolByIndex (FreePoolHdr, PoolTail);\r