DynamicTablesPkg: Rename AmlCpcInfo.h to AcpiObjects.h
The DynamicTables framework uses the AmlLib to generate some Aml objects. It is done by using structured known by both frameworks, e.g. the AML_CPC_INFO/CM_ARM_CPC_INFO structures. To prepare adding similar structures (e.g. representing _PSD information), rename AmlCpcInfo.h to AcpiObjects.h. This new file will contain all the structures used by the AmlLib and the DynamicTables framework. Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
This commit is contained in:
committed by
mergify[bot]
parent
ec15e345ae
commit
e3992e40c7
124
DynamicTablesPkg/Include/AcpiObjects.h
Normal file
124
DynamicTablesPkg/Include/AcpiObjects.h
Normal file
@@ -0,0 +1,124 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef AML_CPC_INFO_H_
|
||||
#define AML_CPC_INFO_H_
|
||||
|
||||
#include <IndustryStandard/Acpi.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
/** A structure that describes the Cpc information.
|
||||
|
||||
Continuous Performance Control is described in DSDT/SSDT and associated
|
||||
to cpus/clusters in the cpu topology.
|
||||
|
||||
Unsupported Optional registers should be encoded with NULL resource
|
||||
Register {(SystemMemory, 0, 0, 0, 0)}
|
||||
|
||||
For values that support Integer or Buffer, integer will be used
|
||||
if buffer is NULL resource.
|
||||
If resource is not NULL then Integer must be 0
|
||||
|
||||
Cf. ACPI 6.4, s8.4.7.1 _CPC (Continuous Performance Control)
|
||||
|
||||
**/
|
||||
|
||||
typedef struct AmlCpcInfo {
|
||||
/// The revision number of the _CPC package format.
|
||||
UINT32 Revision;
|
||||
|
||||
/// Indicates the highest level of performance the processor
|
||||
/// is theoretically capable of achieving.
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE HighestPerformanceBuffer;
|
||||
UINT32 HighestPerformanceInteger;
|
||||
|
||||
/// Indicates the highest sustained performance level of the processor.
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE NominalPerformanceBuffer;
|
||||
UINT32 NominalPerformanceInteger;
|
||||
|
||||
/// Indicates the lowest performance level of the processor with non-linear power savings.
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE LowestNonlinearPerformanceBuffer;
|
||||
UINT32 LowestNonlinearPerformanceInteger;
|
||||
|
||||
/// Indicates the lowest performance level of the processor..
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE LowestPerformanceBuffer;
|
||||
UINT32 LowestPerformanceInteger;
|
||||
|
||||
/// Guaranteed Performance Register Buffer.
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE GuaranteedPerformanceRegister;
|
||||
|
||||
/// Desired Performance Register Buffer.
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE DesiredPerformanceRegister;
|
||||
|
||||
/// Minimum Performance Register Buffer.
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE MinimumPerformanceRegister;
|
||||
|
||||
/// Maximum Performance Register Buffer.
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE MaximumPerformanceRegister;
|
||||
|
||||
/// Performance Reduction Tolerance Register.
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE PerformanceReductionToleranceRegister;
|
||||
|
||||
/// Time Window Register.
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE TimeWindowRegister;
|
||||
|
||||
/// Counter Wraparound Time
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE CounterWraparoundTimeBuffer;
|
||||
UINT32 CounterWraparoundTimeInteger;
|
||||
|
||||
/// Reference Performance Counter Register
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE ReferencePerformanceCounterRegister;
|
||||
|
||||
/// Delivered Performance Counter Register
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE DeliveredPerformanceCounterRegister;
|
||||
|
||||
/// Performance Limited Register
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE PerformanceLimitedRegister;
|
||||
|
||||
/// CPPC EnableRegister
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE CPPCEnableRegister;
|
||||
|
||||
/// Autonomous Selection Enable
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE AutonomousSelectionEnableBuffer;
|
||||
UINT32 AutonomousSelectionEnableInteger;
|
||||
|
||||
/// AutonomousActivity-WindowRegister
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE AutonomousActivityWindowRegister;
|
||||
|
||||
/// EnergyPerformance-PreferenceRegister
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE EnergyPerformancePreferenceRegister;
|
||||
|
||||
/// Reference Performance
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE ReferencePerformanceBuffer;
|
||||
UINT32 ReferencePerformanceInteger;
|
||||
|
||||
/// Lowest Frequency
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE LowestFrequencyBuffer;
|
||||
UINT32 LowestFrequencyInteger;
|
||||
|
||||
/// Nominal Frequency
|
||||
/// Optional
|
||||
EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE NominalFrequencyBuffer;
|
||||
UINT32 NominalFrequencyInteger;
|
||||
} AML_CPC_INFO;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif //AML_CPC_INFO_H_
|
Reference in New Issue
Block a user