TianoCore EDK2 master
Loading...
Searching...
No Matches
AmdMmSaveState.c File Reference

Go to the source code of this file.

Macros

#define AMD_MM_SAVE_STATE_REGISTER_SMMREVID_INDEX   1
 
#define AMD_MM_SAVE_STATE_REGISTER_MAX_INDEX   2
 
#define MM_CPU_OFFSET(Field)   OFFSET_OF (AMD_SMRAM_SAVE_STATE_MAP, Field)
 

Functions

EFI_STATUS EFIAPI MmSaveStateReadRegister (IN UINTN CpuIndex, IN EFI_MM_SAVE_STATE_REGISTER Register, IN UINTN Width, OUT VOID *Buffer)
 
EFI_STATUS EFIAPI MmSaveStateWriteRegister (IN UINTN CpuIndex, IN EFI_MM_SAVE_STATE_REGISTER Register, IN UINTN Width, IN CONST VOID *Buffer)
 
UINT8 MmSaveStateGetRegisterLma (VOID)
 

Variables

CONST CPU_MM_SAVE_STATE_LOOKUP_ENTRY mCpuWidthOffset []
 

Detailed Description

Provides services to access SMRAM Save State Map

Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
Copyright (C) 2023 - 2024 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AmdMmSaveState.c.

Macro Definition Documentation

◆ AMD_MM_SAVE_STATE_REGISTER_MAX_INDEX

#define AMD_MM_SAVE_STATE_REGISTER_MAX_INDEX   2

Definition at line 16 of file AmdMmSaveState.c.

◆ AMD_MM_SAVE_STATE_REGISTER_SMMREVID_INDEX

#define AMD_MM_SAVE_STATE_REGISTER_SMMREVID_INDEX   1

Definition at line 15 of file AmdMmSaveState.c.

◆ MM_CPU_OFFSET

#define MM_CPU_OFFSET (   Field)    OFFSET_OF (AMD_SMRAM_SAVE_STATE_MAP, Field)

Definition at line 19 of file AmdMmSaveState.c.

Function Documentation

◆ MmSaveStateGetRegisterLma()

UINT8 MmSaveStateGetRegisterLma ( VOID  )

Returns LMA value of the Processor.

Return values
UINT8returns LMA bit value.

Definition at line 277 of file AmdMmSaveState.c.

◆ MmSaveStateReadRegister()

EFI_STATUS EFIAPI MmSaveStateReadRegister ( IN UINTN  CpuIndex,
IN EFI_MM_SAVE_STATE_REGISTER  Register,
IN UINTN  Width,
OUT VOID *  Buffer 
)

Read a save state register on the target processor. If this function returns EFI_UNSUPPORTED, then the caller is responsible for reading the MM Save State register.

Parameters
[in]CpuIndexThe index of the CPU to read the Save State register. The value must be between 0 and the NumberOfCpus field in the System Management System Table (SMST).
[in]RegisterThe MM Save State register to read.
[in]WidthThe number of bytes to read from the CPU save state.
[out]BufferUpon return, this holds the CPU register value read from the save state.
Return values
EFI_SUCCESSThe register was read from Save State.
EFI_INVALID_PARAMTERBuffer is NULL.
EFI_UNSUPPORTEDThis function does not support reading Register.
EFI_NOT_FOUNDIf desired Register not found.

Definition at line 103 of file AmdMmSaveState.c.

◆ MmSaveStateWriteRegister()

EFI_STATUS EFIAPI MmSaveStateWriteRegister ( IN UINTN  CpuIndex,
IN EFI_MM_SAVE_STATE_REGISTER  Register,
IN UINTN  Width,
IN CONST VOID *  Buffer 
)

Writes a save state register on the target processor. If this function returns EFI_UNSUPPORTED, then the caller is responsible for writing the MM save state register.

Parameters
[in]CpuIndexThe index of the CPU to write the MM Save State. The value must be between 0 and the NumberOfCpus field in the System Management System Table (SMST).
[in]RegisterThe MM Save State register to write.
[in]WidthThe number of bytes to write to the CPU save state.
[in]BufferUpon entry, this holds the new CPU register value.
Return values
EFI_SUCCESSThe register was written to Save State.
EFI_INVALID_PARAMTERBuffer is NULL.
EFI_UNSUPPORTEDThis function does not support writing Register.
EFI_NOT_FOUNDIf desired Register not found.

Definition at line 202 of file AmdMmSaveState.c.

Variable Documentation

◆ mCpuWidthOffset

Definition at line 30 of file AmdMmSaveState.c.