TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
VOID | FinishSmmCpuFeaturesInitializeProcessor (VOID) |
UINTN EFIAPI | SmmCpuFeaturesGetSmiHandlerSize (VOID) |
VOID EFIAPI | SmmCpuFeaturesInstallSmiHandler (IN UINTN CpuIndex, IN UINT32 SmBase, IN VOID *SmiStack, IN UINTN StackSize, IN UINTN GdtBase, IN UINTN GdtSize, IN UINTN IdtBase, IN UINTN IdtSize, IN UINT32 Cr3) |
The CPU specific programming for PiSmmCpuDxeSmm module when STM support is not included.
Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SmmCpuFeaturesLibNoStm.c.
VOID FinishSmmCpuFeaturesInitializeProcessor | ( | VOID | ) |
Internal worker function that is called to complete CPU initialization at the end of SmmCpuFeaturesInitializeProcessor().
Definition at line 20 of file SmmCpuFeaturesLibNoStm.c.
UINTN EFIAPI SmmCpuFeaturesGetSmiHandlerSize | ( | VOID | ) |
Return the size, in bytes, of a custom SMI Handler in bytes. If 0 is returned, then a custom SMI handler is not provided by this library, and the default SMI handler must be used.
0 | Use the default SMI handler. |
> | 0 Use the SMI handler installed by SmmCpuFeaturesInstallSmiHandler() The caller is required to allocate enough SMRAM for each CPU to support the size of the custom SMI handler. |
Definition at line 38 of file SmmCpuFeaturesLibNoStm.c.
VOID EFIAPI SmmCpuFeaturesInstallSmiHandler | ( | IN UINTN | CpuIndex, |
IN UINT32 | SmBase, | ||
IN VOID * | SmiStack, | ||
IN UINTN | StackSize, | ||
IN UINTN | GdtBase, | ||
IN UINTN | GdtSize, | ||
IN UINTN | IdtBase, | ||
IN UINTN | IdtSize, | ||
IN UINT32 | Cr3 | ||
) |
Install a custom SMI handler for the CPU specified by CpuIndex. This function is only called if SmmCpuFeaturesGetSmiHandlerSize() returns a size is greater than zero and is called by the CPU that was elected as monarch during System Management Mode initialization.
[in] | CpuIndex | The index of the CPU to install the custom SMI handler. The value must be between 0 and the NumberOfCpus field in the System Management System Table (SMST). |
[in] | SmBase | The SMBASE address for the CPU specified by CpuIndex. |
[in] | SmiStack | The stack to use when an SMI is processed by the the CPU specified by CpuIndex. |
[in] | StackSize | The size, in bytes, if the stack used when an SMI is processed by the CPU specified by CpuIndex. |
[in] | GdtBase | The base address of the GDT to use when an SMI is processed by the CPU specified by CpuIndex. |
[in] | GdtSize | The size, in bytes, of the GDT used when an SMI is processed by the CPU specified by CpuIndex. |
[in] | IdtBase | The base address of the IDT to use when an SMI is processed by the CPU specified by CpuIndex. |
[in] | IdtSize | The size, in bytes, of the IDT used when an SMI is processed by the CPU specified by CpuIndex. |
[in] | Cr3 | The base address of the page tables to use when an SMI is processed by the CPU specified by CpuIndex. |
Definition at line 72 of file SmmCpuFeaturesLibNoStm.c.