Revision: 18978
          http://sourceforge.net/p/edk2/code/18978
Author:   lersek
Date:     2015-11-27 12:00:32 +0000 (Fri, 27 Nov 2015)
Log Message:
-----------
Revert "Add 2 APIs in SmmCpuFeaturesLib."

This reverts SVN r18958 / git commit
9daa916dd1efe6443f9a66dfa882f3185d33ad28.

The patch series had been fully reviewed on edk2-devel, but it got
committed as a single squashed patch. Revert it for now.

Link: http://thread.gmane.org/gmane.comp.bios.edk2.devel/4951
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <[email protected]>

Revision Links:
--------------
    http://sourceforge.net/p/edk2/code/18958

Modified Paths:
--------------
    trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h
    trunk/edk2/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
    trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c
    trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
    trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h
    trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c

Modified: trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h
===================================================================
--- trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h   2015-11-27 
12:00:26 UTC (rev 18977)
+++ trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h   2015-11-27 
12:00:32 UTC (rev 18978)
@@ -363,39 +363,4 @@
   IN CONST VOID                   *Buffer
   );
 
-/**
-  This function is hook point called after the gEfiSmmReadyToLockProtocolGuid
-  notification is completely processed.
-**/
-VOID
-EFIAPI
-SmmCpuFeaturesCompleteSmmReadyToLock (
-  VOID
-  );
-
-/**
-  This API provides a method for a CPU to allocate a specific region for 
storing page tables.
-
-  This API can be called more once to allocate memory for page tables.
-
-  Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns 
a pointer to the
-  allocated buffer.  The buffer returned is aligned on a 4KB boundary.  If 
Pages is 0, then NULL
-  is returned.  If there is not enough memory remaining to satisfy the 
request, then NULL is
-  returned.
-
-  This function can also return NULL if there is no preference on where the 
page tables are allocated in SMRAM.
-
-  @param  Pages                 The number of 4 KB pages to allocate.
-
-  @return A pointer to the allocated buffer for page tables.
-  @retval NULL      Fail to allocate a specific region for storing page tables,
-                    Or there is no preference on where the page tables are 
allocated in SMRAM.
-
-**/
-VOID *
-EFIAPI
-SmmCpuFeaturesAllocatePageTableMemory (
-  IN UINTN           Pages
-  );
-
 #endif

Modified: trunk/edk2/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
===================================================================
--- trunk/edk2/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c 
2015-11-27 12:00:26 UTC (rev 18977)
+++ trunk/edk2/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c 
2015-11-27 12:00:32 UTC (rev 18978)
@@ -615,44 +615,3 @@
 {
   return EFI_UNSUPPORTED;
 }
-
-/**
-  This function is hook point called after the gEfiSmmReadyToLockProtocolGuid
-  notification is completely processed.
-**/
-VOID
-EFIAPI
-SmmCpuFeaturesCompleteSmmReadyToLock (
-  VOID
-  )
-{
-}
-
-/**
-  This API provides a method for a CPU to allocate a specific region for 
storing page tables.
-
-  This API can be called more once to allocate memory for page tables.
-
-  Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns 
a pointer to the
-  allocated buffer.  The buffer returned is aligned on a 4KB boundary.  If 
Pages is 0, then NULL
-  is returned.  If there is not enough memory remaining to satisfy the 
request, then NULL is
-  returned.
-
-  This function can also return NULL if there is no preference on where the 
page tables are allocated in SMRAM.
-
-  @param  Pages                 The number of 4 KB pages to allocate.
-
-  @return A pointer to the allocated buffer for page tables.
-  @retval NULL      Fail to allocate a specific region for storing page tables,
-                    Or there is no preference on where the page tables are 
allocated in SMRAM.
-
-**/
-VOID *
-EFIAPI
-SmmCpuFeaturesAllocatePageTableMemory (
-  IN UINTN           Pages
-  )
-{
-  return NULL;
-}
-

Modified: trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c
===================================================================
--- trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c    2015-11-27 12:00:26 UTC 
(rev 18977)
+++ trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c    2015-11-27 12:00:32 UTC 
(rev 18978)
@@ -770,7 +770,7 @@
   //
   // Allocate the page table
   //
-  PageTable = AllocatePageTableMemory (ExtraPages + 5 + PagesNeeded);
+  PageTable = AllocatePages (ExtraPages + 5 + PagesNeeded);
   ASSERT (PageTable != NULL);
 
   PageTable = (VOID *)((UINTN)PageTable + EFI_PAGES_TO_SIZE (ExtraPages));
@@ -872,7 +872,7 @@
     //
     // Allocate a page from SMRAM
     //
-    NewPageTableAddress = AllocatePageTableMemory (1);
+    NewPageTableAddress = AllocatePages (1);
     ASSERT (NewPageTableAddress != NULL);
 
     NewPageTable = (UINT64 *)NewPageTableAddress;

Modified: trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
===================================================================
--- trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c       2015-11-27 
12:00:26 UTC (rev 18977)
+++ trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c       2015-11-27 
12:00:32 UTC (rev 18978)
@@ -970,9 +970,9 @@
   //
   BufferPages = EFI_SIZE_TO_PAGES (SIZE_32KB + TileSize * (mMaxNumberOfCpus - 
1));
   if ((FamilyId == 4) || (FamilyId == 5)) {
-    Buffer = AllocateAlignedPages (BufferPages, SIZE_32KB);
+    Buffer = AllocateAlignedCodePages (BufferPages, SIZE_32KB);
   } else {
-    Buffer = AllocateAlignedPages (BufferPages, SIZE_4KB);
+    Buffer = AllocateAlignedCodePages (BufferPages, SIZE_4KB);
   }
   ASSERT (Buffer != NULL);
   DEBUG ((EFI_D_INFO, "SMRAM SaveState Buffer (0x%08x, 0x%08x)\n", Buffer, 
EFI_PAGES_TO_SIZE(BufferPages)));
@@ -1416,35 +1416,6 @@
 }
 
 /**
-  This API provides a way to allocate memory for page table.
-
-  This API can be called more once to allocate memory for page tables.
-
-  Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns 
a pointer to the
-  allocated buffer.  The buffer returned is aligned on a 4KB boundary.  If 
Pages is 0, then NULL
-  is returned.  If there is not enough memory remaining to satisfy the 
request, then NULL is
-  returned.
-
-  @param  Pages                 The number of 4 KB pages to allocate.
-
-  @return A pointer to the allocated buffer or NULL if allocation fails.
-
-**/
-VOID *
-AllocatePageTableMemory (
-  IN UINTN           Pages
-  )
-{
-  VOID  *Buffer;
-
-  Buffer = SmmCpuFeaturesAllocatePageTableMemory (Pages);
-  if (Buffer != NULL) {
-    return Buffer;
-  }
-  return AllocatePages (Pages);
-}
-
-/**
   Perform the remaining tasks.
 
 **/
@@ -1469,8 +1440,6 @@
     //
     ConfigSmmCodeAccessCheck ();
 
-    SmmCpuFeaturesCompleteSmmReadyToLock ();
-
     //
     // Clean SMM ready to lock flag
     //
@@ -1496,8 +1465,6 @@
     //
     ConfigSmmCodeAccessCheck ();
 
-    SmmCpuFeaturesCompleteSmmReadyToLock ();
-
     mRestoreSmmConfigurationInS3 = FALSE;
   }
 }

Modified: trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h
===================================================================
--- trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h       2015-11-27 
12:00:26 UTC (rev 18977)
+++ trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h       2015-11-27 
12:00:32 UTC (rev 18978)
@@ -718,25 +718,4 @@
 DumpModuleInfoByIp (
   IN  UINTN              CallerIpAddress
   );
-
-/**
-  This API provides a way to allocate memory for page table.
-
-  This API can be called more once to allocate memory for page tables.
-
-  Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns 
a pointer to the
-  allocated buffer.  The buffer returned is aligned on a 4KB boundary.  If 
Pages is 0, then NULL
-  is returned.  If there is not enough memory remaining to satisfy the 
request, then NULL is
-  returned.
-
-  @param  Pages                 The number of 4 KB pages to allocate.
-
-  @return A pointer to the allocated buffer or NULL if allocation fails.
-
-**/
-VOID *
-AllocatePageTableMemory (
-  IN UINTN           Pages
-  );
-
 #endif

Modified: trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c
===================================================================
--- trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c   2015-11-27 12:00:26 UTC 
(rev 18977)
+++ trunk/edk2/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c   2015-11-27 12:00:32 UTC 
(rev 18978)
@@ -552,7 +552,7 @@
           //
           ASSERT (Address == (*Pte & PHYSICAL_ADDRESS_MASK));
 
-          Pt = AllocatePageTableMemory (1);
+          Pt = AllocatePages (1);
           ASSERT (Pt != NULL);
 
           // Split it


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to