Revision: 18979
          http://sourceforge.net/p/edk2/code/18979
Author:   lersek
Date:     2015-11-27 13:48:03 +0000 (Fri, 27 Nov 2015)
Log Message:
-----------
UefiCpuPkg/PiSmmCpu: Add 2 APIs in SmmCpuFeaturesLib.

SmmCpuFeaturesCompleteSmmReadyToLock() is a hook point to
allow CPU specific code to do more registers setting after
the gEfiSmmReadyToLockProtocolGuid notification is completely
processed.

SmmCpuFeaturesAllocatePageTableMemory() is an API to allow
CPU to allocate a specific region for storing page tables.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <[email protected]>
Reviewed-by: "Kinney, Michael D" <[email protected]>
Cc: "Fan, Jeff" <[email protected]>
Cc: "Kinney, Michael D" <[email protected]>
Cc: "Laszlo Ersek" <[email protected]>

Modified Paths:
--------------
    trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h

Modified: trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h
===================================================================
--- trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h   2015-11-27 
12:00:32 UTC (rev 18978)
+++ trunk/edk2/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h   2015-11-27 
13:48:03 UTC (rev 18979)
@@ -363,4 +363,39 @@
   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


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

Reply via email to