]> git.proxmox.com Git - mirror_edk2.git/blob - UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.h
UefiPayloadPkg: Add a common SmmAccessDxe module
[mirror_edk2.git] / UefiPayloadPkg / SmmAccessDxe / SmmAccessDxe.h
1 /** @file
2 The header file of SMM access DXE.
3
4 Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef SMM_ACCESS_DRIVER_H_
10 #define SMM_ACCESS_DRIVER_H_
11
12 #include <PiDxe.h>
13 #include <Protocol/SmmAccess2.h>
14 #include <Library/HobLib.h>
15 #include <Library/BaseLib.h>
16 #include <Library/UefiBootServicesTableLib.h>
17 #include <Library/DebugLib.h>
18 #include <Library/MemoryAllocationLib.h>
19 #include <Library/BaseMemoryLib.h>
20 #include <Guid/SmramMemoryReserve.h>
21
22
23 #define SMM_ACCESS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('S', 'M', 'M', 'A')
24
25 typedef struct {
26 UINTN Signature;
27 EFI_HANDLE Handle;
28 EFI_SMM_ACCESS2_PROTOCOL SmmAccess;
29 //
30 // Local Data for SMM Access interface goes here
31 //
32 UINT32 SmmRegionState;
33 UINT32 NumberRegions;
34 EFI_SMRAM_DESCRIPTOR *SmramDesc;
35 } SMM_ACCESS_PRIVATE_DATA;
36
37 #endif