summaryrefslogtreecommitdiffstats
path: root/StandaloneMmPkg/Core/Page.c
diff options
context:
space:
mode:
Diffstat (limited to 'StandaloneMmPkg/Core/Page.c')
-rw-r--r--StandaloneMmPkg/Core/Page.c39
1 files changed, 26 insertions, 13 deletions
diff --git a/StandaloneMmPkg/Core/Page.c b/StandaloneMmPkg/Core/Page.c
index a9bdd73cdc..8ee85d19db 100644
--- a/StandaloneMmPkg/Core/Page.c
+++ b/StandaloneMmPkg/Core/Page.c
@@ -16,7 +16,7 @@
LIST_ENTRY mMmMemoryMap = INITIALIZE_LIST_HEAD_VARIABLE (mMmMemoryMap);
-UINTN mMapKey;
+UINTN mMapKey;
/**
Internal Function. Allocate n pages from given free page node.
@@ -43,10 +43,11 @@ InternalAllocPagesOnOneNode (
if (Top > Pages->NumberOfPages) {
Top = Pages->NumberOfPages;
}
+
Bottom = Top - NumberOfPages;
if (Top < Pages->NumberOfPages) {
- Node = (FREE_PAGE_LIST*)((UINTN)Pages + EFI_PAGES_TO_SIZE (Top));
+ Node = (FREE_PAGE_LIST *)((UINTN)Pages + EFI_PAGES_TO_SIZE (Top));
Node->NumberOfPages = Pages->NumberOfPages - Top;
InsertHeadList (&Pages->Link, &Node->Link);
}
@@ -82,11 +83,13 @@ InternalAllocMaxAddress (
for (Node = FreePageList->BackLink; Node != FreePageList; Node = Node->BackLink) {
Pages = BASE_CR (Node, FREE_PAGE_LIST, Link);
- if (Pages->NumberOfPages >= NumberOfPages &&
- (UINTN)Pages + EFI_PAGES_TO_SIZE (NumberOfPages) - 1 <= MaxAddress) {
+ if ((Pages->NumberOfPages >= NumberOfPages) &&
+ ((UINTN)Pages + EFI_PAGES_TO_SIZE (NumberOfPages) - 1 <= MaxAddress))
+ {
return InternalAllocPagesOnOneNode (Pages, NumberOfPages, MaxAddress);
}
}
+
return (UINTN)(-1);
}
@@ -116,15 +119,17 @@ InternalAllocAddress (
}
EndAddress = Address + EFI_PAGES_TO_SIZE (NumberOfPages);
- for (Node = FreePageList->BackLink; Node!= FreePageList; Node = Node->BackLink) {
+ for (Node = FreePageList->BackLink; Node != FreePageList; Node = Node->BackLink) {
Pages = BASE_CR (Node, FREE_PAGE_LIST, Link);
if ((UINTN)Pages <= Address) {
if ((UINTN)Pages + EFI_PAGES_TO_SIZE (Pages->NumberOfPages) < EndAddress) {
break;
}
+
return InternalAllocPagesOnOneNode (Pages, NumberOfPages, EndAddress);
}
}
+
return ~Address;
}
@@ -155,8 +160,9 @@ MmInternalAllocatePages (
{
UINTN RequestedAddress;
- if (MemoryType != EfiRuntimeServicesCode &&
- MemoryType != EfiRuntimeServicesData) {
+ if ((MemoryType != EfiRuntimeServicesCode) &&
+ (MemoryType != EfiRuntimeServicesData))
+ {
return EFI_INVALID_PARAMETER;
}
@@ -180,6 +186,7 @@ MmInternalAllocatePages (
if (*Memory == (UINTN)-1) {
return EFI_OUT_OF_RESOURCES;
}
+
break;
case AllocateAddress:
*Memory = InternalAllocAddress (
@@ -190,10 +197,12 @@ MmInternalAllocatePages (
if (*Memory != RequestedAddress) {
return EFI_NOT_FOUND;
}
+
break;
default:
return EFI_INVALID_PARAMETER;
}
+
return EFI_SUCCESS;
}
@@ -245,13 +254,15 @@ InternalMergeNodes (
Next = BASE_CR (First->Link.ForwardLink, FREE_PAGE_LIST, Link);
ASSERT (
- TRUNCATE_TO_PAGES ((UINTN)Next - (UINTN)First) >= First->NumberOfPages);
+ TRUNCATE_TO_PAGES ((UINTN)Next - (UINTN)First) >= First->NumberOfPages
+ );
if (TRUNCATE_TO_PAGES ((UINTN)Next - (UINTN)First) == First->NumberOfPages) {
First->NumberOfPages += Next->NumberOfPages;
RemoveEntryList (&Next->Link);
Next = First;
}
+
return Next;
}
@@ -281,17 +292,19 @@ MmInternalFreePages (
}
Pages = NULL;
- Node = mMmMemoryMap.ForwardLink;
+ Node = mMmMemoryMap.ForwardLink;
while (Node != &mMmMemoryMap) {
Pages = BASE_CR (Node, FREE_PAGE_LIST, Link);
if (Memory < (UINTN)Pages) {
break;
}
+
Node = Node->ForwardLink;
}
- if (Node != &mMmMemoryMap &&
- Memory + EFI_PAGES_TO_SIZE (NumberOfPages) > (UINTN)Pages) {
+ if ((Node != &mMmMemoryMap) &&
+ (Memory + EFI_PAGES_TO_SIZE (NumberOfPages) > (UINTN)Pages))
+ {
return EFI_INVALID_PARAMETER;
}
@@ -302,7 +315,7 @@ MmInternalFreePages (
}
}
- Pages = (FREE_PAGE_LIST*)(UINTN)Memory;
+ Pages = (FREE_PAGE_LIST *)(UINTN)Memory;
Pages->NumberOfPages = NumberOfPages;
InsertTailList (Node, &Pages->Link);
@@ -373,6 +386,6 @@ MmAddMemoryRegion (
// Align range on an EFI_PAGE_SIZE boundary
//
AlignedMemBase = (UINTN)(MemBase + EFI_PAGE_MASK) & ~EFI_PAGE_MASK;
- MemLength -= AlignedMemBase - MemBase;
+ MemLength -= AlignedMemBase - MemBase;
MmFreePages (AlignedMemBase, TRUNCATE_TO_PAGES ((UINTN)MemLength));
}