TianoCore EDK2 master
Loading...
Searching...
No Matches
SmmFuncsArch.c File Reference
#include "PiSmmCpuCommon.h"

Go to the source code of this file.

Functions

VOID EFIAPI InitializeIDTSmmStackGuard (VOID)
 
VOID * InitGdt (IN UINTN Cr3, OUT UINTN *GdtStepSize)
 
VOID InitShadowStack (IN UINTN CpuIndex, IN VOID *ShadowStack)
 

Variables

UINT64 gTaskGateDescriptor
 
EFI_PHYSICAL_ADDRESS mGdtBuffer
 
UINTN mGdtBufferSize
 
BOOLEAN mCetSupported
 
X86_ASSEMBLY_PATCH_LABEL mPatchCetPl0Ssp
 
X86_ASSEMBLY_PATCH_LABEL mPatchCetInterruptSsp
 
UINT32 mCetPl0Ssp
 
UINT32 mCetInterruptSsp
 

Detailed Description

SMM CPU misc functions for Ia32 arch specific.

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

Definition in file SmmFuncsArch.c.

Function Documentation

◆ InitGdt()

VOID * InitGdt ( IN UINTN  Cr3,
OUT UINTN GdtStepSize 
)

Initialize Gdt for all processors.

Parameters
[in]Cr3CR3 value.
[out]GdtStepSizeThe step size for GDT table.
Returns
GdtBase for processor 0. GdtBase for processor X is: GdtBase + (GdtStepSize * X)

Definition at line 55 of file SmmFuncsArch.c.

◆ InitializeIDTSmmStackGuard()

VOID EFIAPI InitializeIDTSmmStackGuard ( VOID  )

Initialize IDT for SMM Stack Guard.

Definition at line 29 of file SmmFuncsArch.c.

◆ InitShadowStack()

VOID InitShadowStack ( IN UINTN  CpuIndex,
IN VOID *  ShadowStack 
)

Initialize the shadow stack related data structure.

Parameters
CpuIndexThe index of CPU.
ShadowStackThe bottom of the shadow stack for this CPU.

Definition at line 151 of file SmmFuncsArch.c.

Variable Documentation

◆ mCetInterruptSsp

UINT32 mCetInterruptSsp

Definition at line 21 of file SmmFuncsArch.c.

◆ mCetPl0Ssp

UINT32 mCetPl0Ssp

Definition at line 20 of file SmmFuncsArch.c.

◆ mCetSupported

BOOLEAN mCetSupported
extern

Definition at line 94 of file PiSmmCpuCommon.c.

◆ mGdtBuffer

Definition at line 13 of file SmmFuncsArch.c.

◆ mGdtBufferSize

UINTN mGdtBufferSize

Definition at line 14 of file SmmFuncsArch.c.

◆ mPatchCetInterruptSsp

X86_ASSEMBLY_PATCH_LABEL mPatchCetInterruptSsp

Definition at line 19 of file SmmFuncsArch.c.

◆ mPatchCetPl0Ssp

X86_ASSEMBLY_PATCH_LABEL mPatchCetPl0Ssp

Definition at line 18 of file SmmFuncsArch.c.