X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FInclude%2FGuid%2FSmiHandlerProfile.h;h=ff6bddeb589ac6a1c7169e01b074ba0f315267c1;hb=9d510e61fceee7b92955ef9a3c20343752d8ce3f;hp=c5d29e889234295c2837cfafbb016af238494698;hpb=cb716d292b05c65b74de193c6e5b270ca41d226c;p=mirror_edk2.git
diff --git a/MdeModulePkg/Include/Guid/SmiHandlerProfile.h b/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
index c5d29e8892..ff6bddeb58 100644
--- a/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
+++ b/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
@@ -2,13 +2,7 @@
Header file for SMI handler profile definition.
Copyright (c) 2017, Intel Corporation. All rights reserved.
-This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -25,12 +19,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include
#include
-#pragma pack(1)
-
typedef struct {
UINT32 Signature;
UINT32 Length;
UINT32 Revision;
+ UINT8 Reserved[4];
} SMM_CORE_DATABASE_COMMON_HEADER;
#define SMM_CORE_IMAGE_DATABASE_SIGNATURE SIGNATURE_32 ('S','C','I','D')
@@ -39,12 +32,12 @@ typedef struct {
typedef struct {
SMM_CORE_DATABASE_COMMON_HEADER Header;
EFI_GUID FileGuid;
- UINTN ImageRef;
- UINTN EntryPoint;
- UINTN ImageBase;
- UINTN ImageSize;
+ PHYSICAL_ADDRESS EntryPoint;
+ PHYSICAL_ADDRESS ImageBase;
+ UINT64 ImageSize;
+ UINT32 ImageRef;
UINT16 PdbStringOffset;
- UINT8 Reserved2[6];
+ UINT8 Reserved[2];
//CHAR8 PdbString[];
} SMM_CORE_IMAGE_DATABASE_STRUCTURE;
@@ -64,7 +57,7 @@ typedef enum {
// NULL
// Context for SmmCoreSmiHandlerCategoryHardwareHandler:
// (NOTE: The context field should NOT include any data pointer.)
-// gEfiSmmSwDispatch2ProtocolGuid: EFI_SMM_SW_REGISTER_CONTEXT
+// gEfiSmmSwDispatch2ProtocolGuid: (EFI_SMM_SW_REGISTER_CONTEXT => SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT)
// gEfiSmmSxDispatch2ProtocolGuid: EFI_SMM_SX_REGISTER_CONTEXT
// gEfiSmmPowerButtonDispatch2ProtocolGuid: EFI_SMM_POWER_BUTTON_REGISTER_CONTEXT
// gEfiSmmStandbyButtonDispatch2ProtocolGuid: EFI_SMM_STANDBY_BUTTON_REGISTER_CONTEXT
@@ -81,21 +74,25 @@ typedef struct {
} SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT;
typedef struct {
- UINT32 Length;
- UINTN CallerAddr;
- UINTN Handler;
- UINTN ImageRef;
- UINT16 ContextBufferOffset;
- UINT8 Reserved2[2];
- UINT32 ContextBufferSize;
-//UINT8 ContextBuffer[];
+ UINT64 SwSmiInputValue;
+} SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT;
+
+typedef struct {
+ UINT32 Length;
+ UINT32 ImageRef;
+ PHYSICAL_ADDRESS CallerAddr;
+ PHYSICAL_ADDRESS Handler;
+ UINT16 ContextBufferOffset;
+ UINT8 Reserved[2];
+ UINT32 ContextBufferSize;
+//UINT8 ContextBuffer[];
} SMM_CORE_SMI_HANDLER_STRUCTURE;
typedef struct {
SMM_CORE_DATABASE_COMMON_HEADER Header;
- UINT32 HandlerCategory;
EFI_GUID HandlerType;
- UINTN HandlerCount;
+ UINT32 HandlerCategory;
+ UINT32 HandlerCount;
//SMM_CORE_SMI_HANDLER_STRUCTURE Handler[HandlerCount];
} SMM_CORE_SMI_DATABASE_STRUCTURE;
@@ -144,8 +141,6 @@ typedef struct {
#define SMI_HANDLER_PROFILE_GUID {0x49174342, 0x7108, 0x409b, {0x8b, 0xbe, 0x65, 0xfd, 0xa8, 0x53, 0x89, 0xf5}}
-#pragma pack()
-
extern EFI_GUID gSmiHandlerProfileGuid;
typedef struct _SMI_HANDLER_PROFILE_PROTOCOL SMI_HANDLER_PROFILE_PROTOCOL;