/** @file ACPI Low Power Idle Table (LPIT) definitions Copyright (c) 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - ACPI Low Power Idle Table (LPIT) Revision 001, dated July 2014 http://www.uefi.org/sites/default/files/resources/ACPI_Low_Power_Idle_Table.pdf @par Glossary: - GAS - Generic Address Structure - LPI - Low Power Idle **/ #ifndef _LOW_POWER_IDLE_TABLE_H_ #define _LOW_POWER_IDLE_TABLE_H_ #include #pragma pack(1) /// /// LPI Structure Types /// #define ACPI_LPI_STRUCTURE_TYPE_NATIVE_CSTATE 0x00 /// /// Low Power Idle (LPI) State Flags /// typedef union { struct { UINT32 Disabled : 1; ///< If set, LPI state is not used /** If set, Residency counter is not available for this LPI state and Residency Counter Frequency is invalid **/ UINT32 CounterUnavailable : 1; UINT32 Reserved : 30; ///< Reserved for future use. Must be zero } Bits; UINT32 Data32; } ACPI_LPI_STATE_FLAGS; /// /// Low Power Idle (LPI) structure with Native C-state instruction entry trigger descriptor /// typedef struct { UINT32 Type; ///< LPI State descriptor Type 0 UINT32 Length; ///< Length of LPI state Descriptor Structure /// /// Unique LPI state identifier: zero based, monotonically increasing identifier /// UINT16 UniqueId; UINT8 Reserved[2]; ///< Must be Zero ACPI_LPI_STATE_FLAGS Flags; ///< LPI state flags /** The LPI entry trigger, matching an existing _CST.Register object, represented as a Generic Address Structure. All processors must request this state or deeper to trigger. **/ EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE EntryTrigger; UINT32 Residency; ///< Minimum residency or break-even in uSec UINT32 Latency; ///< Worst case exit latency in uSec /** [optional] Residency counter, represented as a Generic Address Structure. If not present, Flags[1] bit should be set. **/ EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE ResidencyCounter; /** [optional] Residency counter frequency in cycles per second. Value 0 indicates that counter runs at TSC frequency. Valid only if Residency Counter is present. **/ UINT64 ResidencyCounterFrequency; } ACPI_LPI_NATIVE_CSTATE_DESCRIPTOR; #pragma pack() #endif