]> git.proxmox.com Git - mirror_edk2.git/blob - UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.h
930f5a215808ee0553455e28437137cf232a6f3b
[mirror_edk2.git] / UefiPayloadPkg / PchSmiDispatchSmm / PchSmiDispatchSmm.h
1 /** @file
2 The header file for SMM SwDispatch2 module.
3
4 Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef SMM_SW_DISPATCH2_H_
10 #define SMM_SW_DISPATCH2_H_
11
12 #include <PiDxe.h>
13 #include <Protocol/SmmSwDispatch2.h>
14 #include <Protocol/SmmCpu.h>
15 #include <Library/UefiDriverEntryPoint.h>
16 #include <Library/SmmServicesTableLib.h>
17 #include <Library/BaseLib.h>
18 #include <Library/IoLib.h>
19 #include <Library/DebugLib.h>
20 #include <Guid/SmmRegisterInfoGuid.h>
21 #include <Library/HobLib.h>
22
23 #define SMI_SW_HANDLER_SIGNATURE SIGNATURE_32('s','s','w','h')
24 #define MAXIMUM_SWI_VALUE 0xFF
25 #define SMM_CONTROL_PORT 0xB2
26 #define SMM_DATA_PORT 0xB3
27
28 typedef struct {
29 UINTN Signature;
30 LIST_ENTRY Link;
31 EFI_HANDLE DispatchHandle;
32 UINTN SwSmiInputValue;
33 UINTN DispatchFunction;
34 } EFI_SMM_SW_DISPATCH2_CONTEXT;
35
36 #endif
37