UefiCpuPkg[all]  0.90
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SmmCpuPlatformHookLib.h File Reference

Enumerations

enum  SMM_PAGE_SIZE_TYPE { SmmPageSize4K, SmmPageSize2M, SmmPageSize1G, MaxSmmPageSizeType }
 

Functions

BOOLEAN EFIAPI PlatformValidSmi (VOID)
 
BOOLEAN EFIAPI ClearTopLevelSmiStatus (VOID)
 
EFI_STATUS EFIAPI PlatformSmmBspElection (OUT BOOLEAN *IsBsp)
 
EFI_STATUS EFIAPI GetPlatformPageTableAttribute (IN UINT64 Address, OUT SMM_PAGE_SIZE_TYPE *PageSize, OUT UINTN *NumOfPages, OUT UINTN *PageAttribute)
 

Detailed Description

Public include file for the SMM CPU Platform Hook Library.

Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Enumeration Type Documentation

SMM Page Size Type

Enumerator
SmmPageSize4K 
SmmPageSize2M 
SmmPageSize1G 
MaxSmmPageSizeType 

Function Documentation

BOOLEAN EFIAPI ClearTopLevelSmiStatus ( VOID  )

Clears platform top level SMI status bit.

This function clears platform top level SMI status bit.

Return values
TRUEThe platform top level SMI status is cleared.
FALSEThe platform top level SMI status cannot be cleared.
EFI_STATUS EFIAPI GetPlatformPageTableAttribute ( IN UINT64  Address,
OUT SMM_PAGE_SIZE_TYPE PageSize,
OUT UINTN *  NumOfPages,
OUT UINTN *  PageAttribute 
)

Get platform page table attribute .

This function gets page table attribute of platform.

Parameters
AddressInput parameter. Obtain the page table entries attribute on this address.
PageSizeOutput parameter. The size of the page.
NumOfPagesOutput parameter. Number of page.
PageAttributeOutput parameter. Paging Attributes (WB, UC, etc).
Return values
EFI_SUCCESSThe platform page table attribute from the address is determined.
EFI_UNSUPPORTEDThe platform does not support getting page table attribute for the address.
EFI_STATUS EFIAPI PlatformSmmBspElection ( OUT BOOLEAN *  IsBsp)

Performs platform specific way of SMM BSP election.

This function performs platform specific way of SMM BSP election.

Parameters
IsBspOutput parameter. TRUE: the CPU this function executes on is elected to be the SMM BSP. FALSE: the CPU this function executes on is to be SMM AP.
Return values
EFI_SUCCESSThe function executes successfully.
EFI_NOT_READYThe function does not determine whether this CPU should be BSP or AP. This may occur if hardware init sequence to enable the determination is yet to be done, or the function chooses not to do BSP election and will let SMM CPU driver to use its default BSP election process.
EFI_DEVICE_ERRORThe function cannot determine whether this CPU should be BSP or AP due to hardware error.
BOOLEAN EFIAPI PlatformValidSmi ( VOID  )

Checks if platform produces a valid SMI.

This function checks if platform produces a valid SMI. This function is called at SMM entry to detect if this is a spurious SMI. This function must be implemented in an MP safe way because it is called by multiple CPU threads.

Return values
TRUEThere is a valid SMI
FALSEThere is no valid SMI