TianoCore EDK2 master
|
#include "MmSaveState.h"
#include <Register/Intel/SmramSaveStateMap.h>
#include <Register/Intel/Cpuid.h>
#include <Library/BaseLib.h>
Go to the source code of this file.
Data Structures | |
struct | CPU_MM_SAVE_STATE_IO_WIDTH |
Macros | |
#define | INTEL_MM_SAVE_STATE_REGISTER_SMMREVID_INDEX 1 |
#define | INTEL_MM_SAVE_STATE_REGISTER_IOMISC_INDEX 2 |
#define | INTEL_MM_SAVE_STATE_REGISTER_IOMEMADDR_INDEX 3 |
#define | INTEL_MM_SAVE_STATE_REGISTER_MAX_INDEX 4 |
#define | MM_CPU_OFFSET(Field) OFFSET_OF (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 [] |
STATIC CONST CPU_MM_SAVE_STATE_IO_WIDTH | mSmmCpuIoWidth [] |
STATIC CONST EFI_MM_SAVE_STATE_IO_TYPE | mSmmCpuIoType [] |
Provides services to access SMRAM Save State Map
Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file IntelMmSaveState.c.
#define INTEL_MM_SAVE_STATE_REGISTER_IOMEMADDR_INDEX 3 |
Definition at line 17 of file IntelMmSaveState.c.
#define INTEL_MM_SAVE_STATE_REGISTER_IOMISC_INDEX 2 |
Definition at line 16 of file IntelMmSaveState.c.
#define INTEL_MM_SAVE_STATE_REGISTER_MAX_INDEX 4 |
Definition at line 18 of file IntelMmSaveState.c.
#define INTEL_MM_SAVE_STATE_REGISTER_SMMREVID_INDEX 1 |
Definition at line 15 of file IntelMmSaveState.c.
#define MM_CPU_OFFSET | ( | Field | ) | OFFSET_OF (SMRAM_SAVE_STATE_MAP, Field) |
Macro used to simplify the lookup table entries of type CPU_MM_SAVE_STATE_LOOKUP_ENTRY
Definition at line 23 of file IntelMmSaveState.c.
UINT8 MmSaveStateGetRegisterLma | ( | VOID | ) |
Returns LMA value of the Processor.
UINT8 | returns LMA bit value. |
Definition at line 367 of file IntelMmSaveState.c.
EFI_STATUS EFIAPI MmSaveStateReadRegister | ( | IN UINTN | CpuIndex, |
IN EFI_MM_SAVE_STATE_REGISTER | Register, | ||
IN UINTN | Width, | ||
OUT VOID * | Buffer | ||
) |
Read an SMM Save State register on the target processor. If this function returns EFI_UNSUPPORTED, then the caller is responsible for reading the SMM Save Sate register.
[in] | CpuIndex | The index of the CPU to read the SMM Save State. The value must be between 0 and the NumberOfCpus field in the System Management System Table (SMST). |
[in] | Register | The SMM Save State register to read. |
[in] | Width | The number of bytes to read from the CPU save state. |
[out] | Buffer | Upon return, this holds the CPU register value read from the save state. |
EFI_SUCCESS | The register was read from Save State. |
EFI_INVALID_PARAMTER | Buffer is NULL. |
EFI_UNSUPPORTED | This function does not support reading Register. |
EFI_NOT_FOUND | If desired Register not found. |
Definition at line 148 of file IntelMmSaveState.c.
EFI_STATUS EFIAPI MmSaveStateWriteRegister | ( | IN UINTN | CpuIndex, |
IN EFI_MM_SAVE_STATE_REGISTER | Register, | ||
IN UINTN | Width, | ||
IN CONST VOID * | Buffer | ||
) |
Writes an SMM Save State register on the target processor. If this function returns EFI_UNSUPPORTED, then the caller is responsible for writing the SMM Save Sate register.
[in] | CpuIndex | The index of the CPU to write the SMM Save State. The value must be between 0 and the NumberOfCpus field in the System Management System Table (SMST). |
[in] | Register | The SMM Save State register to write. |
[in] | Width | The number of bytes to write to the CPU save state. |
[in] | Buffer | Upon entry, this holds the new CPU register value. |
EFI_SUCCESS | The register was written to Save State. |
EFI_INVALID_PARAMTER | Buffer is NULL. |
EFI_UNSUPPORTED | This function does not support writing Register. |
EFI_NOT_FOUND | If desired Register not found. |
Definition at line 267 of file IntelMmSaveState.c.
CONST CPU_MM_SAVE_STATE_LOOKUP_ENTRY mCpuWidthOffset[] |
Lookup table used to retrieve the widths and offsets associated with each supported EFI_MM_SAVE_STATE_REGISTER value
Definition at line 29 of file IntelMmSaveState.c.
STATIC CONST EFI_MM_SAVE_STATE_IO_TYPE mSmmCpuIoType[] |
Lookup table for the IOMisc type information
Definition at line 109 of file IntelMmSaveState.c.
STATIC CONST CPU_MM_SAVE_STATE_IO_WIDTH mSmmCpuIoWidth[] |
Lookup table for the IOMisc width information
Definition at line 95 of file IntelMmSaveState.c.