mirror of https://github.com/acidanthera/audk.git
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" <jiewen.yao@intel.com> Reviewed-by: "Kinney, Michael D" <michael.d.kinney@intel.com> Cc: "Fan, Jeff" <jeff.fan@intel.com> Cc: "Kinney, Michael D" <michael.d.kinney@intel.com> Cc: "Laszlo Ersek" <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18979 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
118930fa28
commit
e3840072cd
|
@ -363,4 +363,39 @@ SmmCpuFeaturesWriteSaveStateRegister (
|
|||
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
|
||||
|
|
Loading…
Reference in New Issue