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;