--- /dev/null
+/** @file\r
+ This file defines the SMM info hob structure.\r
+\r
+ Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef PAYLOAD_SMM_REGISTER_INFO_GUID_H_\r
+#define PAYLOAD_SMM_REGISTER_INFO_GUID_H_\r
+\r
+#include <IndustryStandard/Acpi.h>\r
+\r
+///\r
+/// SMM Information GUID\r
+///\r
+extern EFI_GUID gSmmRegisterInfoGuid;\r
+\r
+///\r
+/// Reuse ACPI definition\r
+/// AddressSpaceId(0xC0-0xFF) is defined by OEM for MSR and other spaces\r
+///\r
+typedef EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE PLD_GENERIC_ADDRESS;\r
+\r
+#define REGISTER_ID_SMI_GBL_EN 1\r
+#define REGISTER_ID_SMI_GBL_EN_LOCK 2\r
+#define REGISTER_ID_SMI_EOS 3\r
+#define REGISTER_ID_SMI_APM_EN 4\r
+#define REGISTER_ID_SMI_APM_STS 5\r
+\r
+#pragma pack(1)\r
+typedef struct {\r
+ UINT64 Id;\r
+ UINT64 Value;\r
+ PLD_GENERIC_ADDRESS Address;\r
+} PLD_GENERIC_REGISTER;\r
+\r
+typedef struct {\r
+ UINT16 Revision;\r
+ UINT16 Reserved;\r
+ UINT32 Count;\r
+ PLD_GENERIC_REGISTER Registers[0];\r
+} PLD_SMM_REGISTERS;\r
+\r
+\r
+#pragma pack()\r
+\r
+#endif\r