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