summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
diff options
context:
space:
mode:
authorkx <kx@radix.pro>2024-06-04 06:43:08 +0300
committerkx <kx@radix.pro>2024-06-04 06:43:08 +0300
commit7e2ccccace24636f29ddc210b94606abd4c7e42b (patch)
tree545d43ea12671048956cafeb12303e84d601e571 /MdeModulePkg/Include/Guid/SmiHandlerProfile.h
parent27b044605cd5f6b33a3d231576003850b3fe305b (diff)
downloadedk2-trunk.tar.xz
Renormalized end-of-lines from master@27b044605cd5f6b33a3d231576003850b3fe305btrunk
Diffstat (limited to 'MdeModulePkg/Include/Guid/SmiHandlerProfile.h')
-rw-r--r--MdeModulePkg/Include/Guid/SmiHandlerProfile.h418
1 files changed, 209 insertions, 209 deletions
diff --git a/MdeModulePkg/Include/Guid/SmiHandlerProfile.h b/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
index 6f155a09e0..daad6d898c 100644
--- a/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
+++ b/MdeModulePkg/Include/Guid/SmiHandlerProfile.h
@@ -1,209 +1,209 @@
-/** @file
- Header file for SMI handler profile definition.
-
-Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef _SMI_HANDLER_PROFILE_H_
-#define _SMI_HANDLER_PROFILE_H_
-
-#include <PiSmm.h>
-#include <Protocol/SmmGpiDispatch2.h>
-#include <Protocol/SmmIoTrapDispatch2.h>
-#include <Protocol/SmmPeriodicTimerDispatch2.h>
-#include <Protocol/SmmPowerButtonDispatch2.h>
-#include <Protocol/SmmStandbyButtonDispatch2.h>
-#include <Protocol/SmmSwDispatch2.h>
-#include <Protocol/SmmSxDispatch2.h>
-#include <Protocol/SmmUsbDispatch2.h>
-
-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')
-#define SMM_CORE_IMAGE_DATABASE_REVISION 0x0001
-
-typedef struct {
- SMM_CORE_DATABASE_COMMON_HEADER Header;
- EFI_GUID FileGuid;
- PHYSICAL_ADDRESS EntryPoint;
- PHYSICAL_ADDRESS ImageBase;
- UINT64 ImageSize;
- UINT32 ImageRef;
- UINT16 PdbStringOffset;
- UINT8 Reserved[2];
- // CHAR8 PdbString[];
-} SMM_CORE_IMAGE_DATABASE_STRUCTURE;
-
-#define SMM_CORE_SMI_DATABASE_SIGNATURE SIGNATURE_32 ('S','C','S','D')
-#define SMM_CORE_SMI_DATABASE_REVISION 0x0001
-
-typedef enum {
- SmmCoreSmiHandlerCategoryRootHandler,
- SmmCoreSmiHandlerCategoryGuidHandler,
- SmmCoreSmiHandlerCategoryHardwareHandler,
-} SMM_CORE_SMI_HANDLER_CATEGORY;
-
-//
-// Context for SmmCoreSmiHandlerCategoryRootHandler:
-// NULL
-// Context for SmmCoreSmiHandlerCategoryGuidHandler:
-// NULL
-// Context for SmmCoreSmiHandlerCategoryHardwareHandler:
-// (NOTE: The context field should NOT include any data pointer.)
-// 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
-// gEfiSmmPeriodicTimerDispatch2ProtocolGuid: EFI_SMM_PERIODIC_TIMER_CONTEXT
-// gEfiSmmGpiDispatch2ProtocolGuid: EFI_SMM_GPI_REGISTER_CONTEXT
-// gEfiSmmIoTrapDispatch2ProtocolGuid: EFI_SMM_IO_TRAP_REGISTER_CONTEXT
-// gEfiSmmUsbDispatch2ProtocolGuid: (EFI_SMM_USB_REGISTER_CONTEXT => SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT)
-// Other: GUID specific
-
-typedef struct {
- EFI_USB_SMI_TYPE Type;
- UINT32 DevicePathSize;
- // UINT8 DevicePath[DevicePathSize];
-} SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT;
-
-typedef struct {
- 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;
- EFI_GUID HandlerType;
- UINT32 HandlerCategory;
- UINT32 HandlerCount;
- // SMM_CORE_SMI_HANDLER_STRUCTURE Handler[HandlerCount];
-} SMM_CORE_SMI_DATABASE_STRUCTURE;
-
-//
-// Layout:
-// +-------------------------------------+
-// | SMM_CORE_IMAGE_DATABASE_STRUCTURE |
-// +-------------------------------------+
-// | SMM_CORE_SMI_DATABASE_STRUCTURE |
-// +-------------------------------------+
-//
-
-//
-// SMM_CORE dump command
-//
-#define SMI_HANDLER_PROFILE_COMMAND_GET_INFO 0x1
-#define SMI_HANDLER_PROFILE_COMMAND_GET_DATA_BY_OFFSET 0x2
-
-typedef struct {
- UINT32 Command;
- UINT32 DataLength;
- UINT64 ReturnStatus;
-} SMI_HANDLER_PROFILE_PARAMETER_HEADER;
-
-typedef struct {
- SMI_HANDLER_PROFILE_PARAMETER_HEADER Header;
- UINT64 DataSize;
-} SMI_HANDLER_PROFILE_PARAMETER_GET_INFO;
-
-typedef struct {
- SMI_HANDLER_PROFILE_PARAMETER_HEADER Header;
- //
- // On input, data buffer size.
- // On output, actual data buffer size copied.
- //
- UINT64 DataSize;
- PHYSICAL_ADDRESS DataBuffer;
- //
- // On input, data buffer offset to copy.
- // On output, next time data buffer offset to copy.
- //
- UINT64 DataOffset;
-} SMI_HANDLER_PROFILE_PARAMETER_GET_DATA_BY_OFFSET;
-
-#define SMI_HANDLER_PROFILE_GUID {0x49174342, 0x7108, 0x409b, {0x8b, 0xbe, 0x65, 0xfd, 0xa8, 0x53, 0x89, 0xf5}}
-
-extern EFI_GUID gSmiHandlerProfileGuid;
-
-typedef struct _SMI_HANDLER_PROFILE_PROTOCOL SMI_HANDLER_PROFILE_PROTOCOL;
-
-/**
- This function is called by SmmChildDispatcher module to report
- a new SMI handler is registered, to SmmCore.
-
- @param This The protocol instance
- @param HandlerGuid The GUID to identify the type of the handler.
- For the SmmChildDispatch protocol, the HandlerGuid
- must be the GUID of SmmChildDispatch protocol.
- @param Handler The SMI handler.
- @param CallerAddress The address of the module who registers the SMI handler.
- @param Context The context of the SMI handler.
- For the SmmChildDispatch protocol, the Context
- must match the one defined for SmmChildDispatch protocol.
- @param ContextSize The size of the context in bytes.
- For the SmmChildDispatch protocol, the Context
- must match the one defined for SmmChildDispatch protocol.
-
- @retval EFI_SUCCESS The information is recorded.
- @retval EFI_OUT_OF_RESOURCES There is no enough resource to record the information.
-**/
-typedef
-EFI_STATUS
-(EFIAPI *SMI_HANDLER_PROFILE_REGISTER_HANDLER)(
- IN SMI_HANDLER_PROFILE_PROTOCOL *This,
- IN EFI_GUID *HandlerGuid,
- IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler,
- IN PHYSICAL_ADDRESS CallerAddress,
- IN VOID *Context OPTIONAL,
- IN UINTN ContextSize OPTIONAL
- );
-
-/**
- This function is called by SmmChildDispatcher module to report
- an existing SMI handler is unregistered, to SmmCore.
-
- @param This The protocol instance
- @param HandlerGuid The GUID to identify the type of the handler.
- For the SmmChildDispatch protocol, the HandlerGuid
- must be the GUID of SmmChildDispatch protocol.
- @param Handler The SMI handler.
- @param Context The context of the SMI handler.
- If it is NOT NULL, it will be used to check what is registered.
- @param ContextSize The size of the context in bytes.
- If Context is NOT NULL, it will be used to check what is registered.
-
- @retval EFI_SUCCESS The original record is removed.
- @retval EFI_NOT_FOUND There is no record for the HandlerGuid and handler.
-**/
-typedef
-EFI_STATUS
-(EFIAPI *SMI_HANDLER_PROFILE_UNREGISTER_HANDLER)(
- IN SMI_HANDLER_PROFILE_PROTOCOL *This,
- IN EFI_GUID *HandlerGuid,
- IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler,
- IN VOID *Context OPTIONAL,
- IN UINTN ContextSize OPTIONAL
- );
-
-struct _SMI_HANDLER_PROFILE_PROTOCOL {
- SMI_HANDLER_PROFILE_REGISTER_HANDLER RegisterHandler;
- SMI_HANDLER_PROFILE_UNREGISTER_HANDLER UnregisterHandler;
-};
-
-#endif
+/** @file
+ Header file for SMI handler profile definition.
+
+Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _SMI_HANDLER_PROFILE_H_
+#define _SMI_HANDLER_PROFILE_H_
+
+#include <PiSmm.h>
+#include <Protocol/SmmGpiDispatch2.h>
+#include <Protocol/SmmIoTrapDispatch2.h>
+#include <Protocol/SmmPeriodicTimerDispatch2.h>
+#include <Protocol/SmmPowerButtonDispatch2.h>
+#include <Protocol/SmmStandbyButtonDispatch2.h>
+#include <Protocol/SmmSwDispatch2.h>
+#include <Protocol/SmmSxDispatch2.h>
+#include <Protocol/SmmUsbDispatch2.h>
+
+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')
+#define SMM_CORE_IMAGE_DATABASE_REVISION 0x0001
+
+typedef struct {
+ SMM_CORE_DATABASE_COMMON_HEADER Header;
+ EFI_GUID FileGuid;
+ PHYSICAL_ADDRESS EntryPoint;
+ PHYSICAL_ADDRESS ImageBase;
+ UINT64 ImageSize;
+ UINT32 ImageRef;
+ UINT16 PdbStringOffset;
+ UINT8 Reserved[2];
+ // CHAR8 PdbString[];
+} SMM_CORE_IMAGE_DATABASE_STRUCTURE;
+
+#define SMM_CORE_SMI_DATABASE_SIGNATURE SIGNATURE_32 ('S','C','S','D')
+#define SMM_CORE_SMI_DATABASE_REVISION 0x0001
+
+typedef enum {
+ SmmCoreSmiHandlerCategoryRootHandler,
+ SmmCoreSmiHandlerCategoryGuidHandler,
+ SmmCoreSmiHandlerCategoryHardwareHandler,
+} SMM_CORE_SMI_HANDLER_CATEGORY;
+
+//
+// Context for SmmCoreSmiHandlerCategoryRootHandler:
+// NULL
+// Context for SmmCoreSmiHandlerCategoryGuidHandler:
+// NULL
+// Context for SmmCoreSmiHandlerCategoryHardwareHandler:
+// (NOTE: The context field should NOT include any data pointer.)
+// 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
+// gEfiSmmPeriodicTimerDispatch2ProtocolGuid: EFI_SMM_PERIODIC_TIMER_CONTEXT
+// gEfiSmmGpiDispatch2ProtocolGuid: EFI_SMM_GPI_REGISTER_CONTEXT
+// gEfiSmmIoTrapDispatch2ProtocolGuid: EFI_SMM_IO_TRAP_REGISTER_CONTEXT
+// gEfiSmmUsbDispatch2ProtocolGuid: (EFI_SMM_USB_REGISTER_CONTEXT => SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT)
+// Other: GUID specific
+
+typedef struct {
+ EFI_USB_SMI_TYPE Type;
+ UINT32 DevicePathSize;
+ // UINT8 DevicePath[DevicePathSize];
+} SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT;
+
+typedef struct {
+ 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;
+ EFI_GUID HandlerType;
+ UINT32 HandlerCategory;
+ UINT32 HandlerCount;
+ // SMM_CORE_SMI_HANDLER_STRUCTURE Handler[HandlerCount];
+} SMM_CORE_SMI_DATABASE_STRUCTURE;
+
+//
+// Layout:
+// +-------------------------------------+
+// | SMM_CORE_IMAGE_DATABASE_STRUCTURE |
+// +-------------------------------------+
+// | SMM_CORE_SMI_DATABASE_STRUCTURE |
+// +-------------------------------------+
+//
+
+//
+// SMM_CORE dump command
+//
+#define SMI_HANDLER_PROFILE_COMMAND_GET_INFO 0x1
+#define SMI_HANDLER_PROFILE_COMMAND_GET_DATA_BY_OFFSET 0x2
+
+typedef struct {
+ UINT32 Command;
+ UINT32 DataLength;
+ UINT64 ReturnStatus;
+} SMI_HANDLER_PROFILE_PARAMETER_HEADER;
+
+typedef struct {
+ SMI_HANDLER_PROFILE_PARAMETER_HEADER Header;
+ UINT64 DataSize;
+} SMI_HANDLER_PROFILE_PARAMETER_GET_INFO;
+
+typedef struct {
+ SMI_HANDLER_PROFILE_PARAMETER_HEADER Header;
+ //
+ // On input, data buffer size.
+ // On output, actual data buffer size copied.
+ //
+ UINT64 DataSize;
+ PHYSICAL_ADDRESS DataBuffer;
+ //
+ // On input, data buffer offset to copy.
+ // On output, next time data buffer offset to copy.
+ //
+ UINT64 DataOffset;
+} SMI_HANDLER_PROFILE_PARAMETER_GET_DATA_BY_OFFSET;
+
+#define SMI_HANDLER_PROFILE_GUID {0x49174342, 0x7108, 0x409b, {0x8b, 0xbe, 0x65, 0xfd, 0xa8, 0x53, 0x89, 0xf5}}
+
+extern EFI_GUID gSmiHandlerProfileGuid;
+
+typedef struct _SMI_HANDLER_PROFILE_PROTOCOL SMI_HANDLER_PROFILE_PROTOCOL;
+
+/**
+ This function is called by SmmChildDispatcher module to report
+ a new SMI handler is registered, to SmmCore.
+
+ @param This The protocol instance
+ @param HandlerGuid The GUID to identify the type of the handler.
+ For the SmmChildDispatch protocol, the HandlerGuid
+ must be the GUID of SmmChildDispatch protocol.
+ @param Handler The SMI handler.
+ @param CallerAddress The address of the module who registers the SMI handler.
+ @param Context The context of the SMI handler.
+ For the SmmChildDispatch protocol, the Context
+ must match the one defined for SmmChildDispatch protocol.
+ @param ContextSize The size of the context in bytes.
+ For the SmmChildDispatch protocol, the Context
+ must match the one defined for SmmChildDispatch protocol.
+
+ @retval EFI_SUCCESS The information is recorded.
+ @retval EFI_OUT_OF_RESOURCES There is no enough resource to record the information.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *SMI_HANDLER_PROFILE_REGISTER_HANDLER)(
+ IN SMI_HANDLER_PROFILE_PROTOCOL *This,
+ IN EFI_GUID *HandlerGuid,
+ IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler,
+ IN PHYSICAL_ADDRESS CallerAddress,
+ IN VOID *Context OPTIONAL,
+ IN UINTN ContextSize OPTIONAL
+ );
+
+/**
+ This function is called by SmmChildDispatcher module to report
+ an existing SMI handler is unregistered, to SmmCore.
+
+ @param This The protocol instance
+ @param HandlerGuid The GUID to identify the type of the handler.
+ For the SmmChildDispatch protocol, the HandlerGuid
+ must be the GUID of SmmChildDispatch protocol.
+ @param Handler The SMI handler.
+ @param Context The context of the SMI handler.
+ If it is NOT NULL, it will be used to check what is registered.
+ @param ContextSize The size of the context in bytes.
+ If Context is NOT NULL, it will be used to check what is registered.
+
+ @retval EFI_SUCCESS The original record is removed.
+ @retval EFI_NOT_FOUND There is no record for the HandlerGuid and handler.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *SMI_HANDLER_PROFILE_UNREGISTER_HANDLER)(
+ IN SMI_HANDLER_PROFILE_PROTOCOL *This,
+ IN EFI_GUID *HandlerGuid,
+ IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler,
+ IN VOID *Context OPTIONAL,
+ IN UINTN ContextSize OPTIONAL
+ );
+
+struct _SMI_HANDLER_PROFILE_PROTOCOL {
+ SMI_HANDLER_PROFILE_REGISTER_HANDLER RegisterHandler;
+ SMI_HANDLER_PROFILE_UNREGISTER_HANDLER UnregisterHandler;
+};
+
+#endif