TianoCore EDK2 master
|
Go to the source code of this file.
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) |
EFI_STATUS EFIAPI | SmmCpuPlatformHookBeforeMmiHandler (VOID) |
Public include file for the SMM CPU Platform Hook Library.
Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SmmCpuPlatformHookLib.h.
enum SMM_PAGE_SIZE_TYPE |
SMM Page Size Type
Definition at line 15 of file SmmCpuPlatformHookLib.h.
BOOLEAN EFIAPI ClearTopLevelSmiStatus | ( | VOID | ) |
Clears platform top level SMI status bit.
This function clears platform top level SMI status bit.
TRUE | The platform top level SMI status is cleared. |
FALSE | The platform top level SMI status cannot be cleared. |
Definition at line 48 of file SmmCpuPlatformHookLibQemu.c.
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.
Address | Input parameter. Obtain the page table entries attribute on this address. |
PageSize | Output parameter. The size of the page. |
NumOfPages | Output parameter. Number of page. |
PageAttribute | Output parameter. Paging Attributes (WB, UC, etc). |
EFI_SUCCESS | The platform page table attribute from the address is determined. |
EFI_UNSUPPORTED | The 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.
IsBsp | Output 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. |
EFI_SUCCESS | The function executes successfully. |
EFI_NOT_READY | The 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_ERROR | The function cannot determine whether this CPU should be BSP or AP due to hardware error. |
Definition at line 77 of file SmmCpuPlatformHookLibQemu.c.
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.
TRUE | There is a valid SMI |
FALSE | There is no valid SMI |
Definition at line 29 of file SmmCpuPlatformHookLibQemu.c.
EFI_STATUS EFIAPI SmmCpuPlatformHookBeforeMmiHandler | ( | VOID | ) |
SMM CPU Platform Hook before executing MMI Handler.
This function can be used to perform the platform specific items before executing MMI Handler.
EFI_SUCCESS | The smm cpu platform hook before executing MMI Handler is executed successfully. |
EFI_UNSUPPORTED | The smm cpu platform hook before executing MMI Handler is unsupported. |
Definition at line 128 of file SmmCpuPlatformHookLibQemu.c.