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