TianoCore EDK2
master
Loading...
Searching...
No Matches
MmSaveState.h
Go to the documentation of this file.
1
10
#ifndef MM_SAVESTATE_H_
11
#define MM_SAVESTATE_H_
12
13
#include <
Uefi/UefiBaseType.h
>
14
#include <
Protocol/MmCpu.h
>
15
#include <
Library/DebugLib.h
>
16
#include <
Library/MmSaveStateLib.h
>
17
#include <
Library/MmServicesTableLib.h
>
18
#include <
Library/BaseMemoryLib.h
>
19
20
// Macro used to simplify the lookup table entries of type CPU_MM_SAVE_STATE_REGISTER_RANGE
21
#define MM_REGISTER_RANGE(Start, End) { Start, End, End - Start + 1 }
22
23
// Structure used to describe a range of registers
24
typedef
struct
{
25
EFI_MM_SAVE_STATE_REGISTER
Start;
26
EFI_MM_SAVE_STATE_REGISTER
End;
27
UINTN
Length;
28
}
CPU_MM_SAVE_STATE_REGISTER_RANGE
;
29
30
// Structure used to build a lookup table to retrieve the widths and offsets
31
// associated with each supported EFI_MM_SAVE_STATE_REGISTER value
32
33
typedef
struct
{
34
UINT8 Width32;
35
UINT8 Width64;
36
UINT16 Offset32;
37
UINT16 Offset64Lo;
38
UINT16 Offset64Hi;
39
BOOLEAN Writeable;
40
}
CPU_MM_SAVE_STATE_LOOKUP_ENTRY
;
41
47
UINT8
48
MmSaveStateGetRegisterLma
(
49
VOID
50
);
51
62
UINTN
63
MmSaveStateGetRegisterIndex
(
64
IN
EFI_MM_SAVE_STATE_REGISTER
Register
,
65
IN
UINTN
RegOffset
66
);
67
86
EFI_STATUS
87
MmSaveStateReadRegisterByIndex
(
88
IN
UINTN
CpuIndex,
89
IN
UINTN
RegisterIndex,
90
IN
UINTN
Width,
91
OUT
VOID *Buffer
92
);
93
94
#endif
UINTN
UINT64 UINTN
Definition:
ProcessorBind.h:112
BaseMemoryLib.h
IN
#define IN
Definition:
Base.h:279
OUT
#define OUT
Definition:
Base.h:284
DebugLib.h
MmCpu.h
EFI_MM_SAVE_STATE_REGISTER
EFI_MM_SAVE_STATE_REGISTER
Definition:
MmCpu.h:25
MmSaveStateGetRegisterIndex
UINTN MmSaveStateGetRegisterIndex(IN EFI_MM_SAVE_STATE_REGISTER Register, IN UINTN RegOffset)
Definition:
MmSaveStateCommon.c:35
MmSaveStateGetRegisterLma
UINT8 MmSaveStateGetRegisterLma(VOID)
Definition:
AmdMmSaveState.c:277
MmSaveStateReadRegisterByIndex
EFI_STATUS MmSaveStateReadRegisterByIndex(IN UINTN CpuIndex, IN UINTN RegisterIndex, IN UINTN Width, OUT VOID *Buffer)
Definition:
MmSaveStateCommon.c:73
MmSaveStateLib.h
MmServicesTableLib.h
Register
EFI_STATUS EFIAPI Register(IN EFI_PEI_RSC_HANDLER_CALLBACK Callback)
Definition:
ReportStatusCodeRouterPei.c:84
UefiBaseType.h
EFI_STATUS
RETURN_STATUS EFI_STATUS
Definition:
UefiBaseType.h:29
CPU_MM_SAVE_STATE_LOOKUP_ENTRY
Definition:
MmSaveState.h:33
CPU_MM_SAVE_STATE_REGISTER_RANGE
Definition:
MmSaveState.h:24
UefiCpuPkg
Library
MmSaveStateLib
MmSaveState.h
Generated on Fri Nov 15 2024 18:01:26 for TianoCore EDK2 by
1.9.6