On 11/25/15 02:04, jiewen yao wrote:
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: "Yao, Jiewen" <jiewen....@intel.com>
> Cc: "Fan, Jeff" <jeff....@intel.com>
> Cc: "Kinney, Michael D" <michael.d.kin...@intel.com>
> ---
>  .../Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c  | 39 
> ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
> 
> diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c 
> b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
> index b839d31..d193f6c 100644
> --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
> +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
> @@ -615,3 +615,42 @@ SmmCpuFeaturesWriteSaveStateRegister (
>  {
>    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.
> +
> +  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;
> +}
> +
> 

If this patch gets in before my OVMF SMM work, then I'll have to update
the SMM series (because it creates a separate SmmCpuFeaturesLib instance).

If, on the other hand, the OVMF SMM series gets in first (which is
somewhat unlikely), then this series should be extended to add the null
impl of the new functions to OVMF's library instance as well.

Thanks!
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to