1 | /** @file
|
---|
2 | The header file of bootloader support SMM.
|
---|
3 |
|
---|
4 | Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
|
---|
5 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
6 |
|
---|
7 | **/
|
---|
8 |
|
---|
9 | #ifndef BL_SUPPORT_SMM_H_
|
---|
10 | #define BL_SUPPORT_SMM_H_
|
---|
11 |
|
---|
12 | #include <PiDxe.h>
|
---|
13 | #include <Library/BaseLib.h>
|
---|
14 | #include <Library/DebugLib.h>
|
---|
15 | #include <Library/IoLib.h>
|
---|
16 | #include <Library/HobLib.h>
|
---|
17 | #include <Library/MtrrLib.h>
|
---|
18 | #include <Library/UefiLib.h>
|
---|
19 | #include <Library/BaseMemoryLib.h>
|
---|
20 | #include <Library/MemoryAllocationLib.h>
|
---|
21 | #include <Library/SmmServicesTableLib.h>
|
---|
22 | #include <Library/PciLib.h>
|
---|
23 | #include <Protocol/SmmSwDispatch2.h>
|
---|
24 | #include <Protocol/SmmAccess2.h>
|
---|
25 | #include <Protocol/MpService.h>
|
---|
26 | #include <Library/UefiBootServicesTableLib.h>
|
---|
27 | #include <Register/Intel/ArchitecturalMsr.h>
|
---|
28 | #include <Guid/SmmRegisterInfoGuid.h>
|
---|
29 | #include <Guid/SmmS3CommunicationInfoGuid.h>
|
---|
30 | #include <Guid/SmramMemoryReserve.h>
|
---|
31 |
|
---|
32 | #define EFI_MSR_SMRR_MASK 0xFFFFF000
|
---|
33 | #define MSR_SMM_FEATURE_CONTROL 0x4E0
|
---|
34 | #define SMRAM_SAVE_STATE_MAP_OFFSET 0xFC00 /// Save state offset from SMBASE
|
---|
35 |
|
---|
36 | typedef struct {
|
---|
37 | UINT32 Base;
|
---|
38 | UINT32 Mask;
|
---|
39 | } SMRR_BASE_MASK;
|
---|
40 |
|
---|
41 | #endif
|
---|