VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/DynamicTablesPkg/Include/AmlCpcInfo.h@ 100307

Last change on this file since 100307 was 99404, checked in by vboxsync, 23 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 4.2 KB
Line 
1/** @file
2
3 Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6**/
7
8#ifndef AML_CPC_INFO_H_
9#define AML_CPC_INFO_H_
10
11#include <IndustryStandard/Acpi.h>
12
13#pragma pack(1)
14
15/** A structure that describes the Cpc information.
16
17 Continuous Performance Control is described in DSDT/SSDT and associated
18 to cpus/clusters in the cpu topology.
19
20 Unsupported Optional registers should be encoded with NULL resource
21 Register {(SystemMemory, 0, 0, 0, 0)}
22
23 For values that support Integer or Buffer, integer will be used
24 if buffer is NULL resource.
25 If resource is not NULL then Integer must be 0
26
27 Cf. ACPI 6.4, s8.4.7.1 _CPC (Continuous Performance Control)
28
29**/
30
31typedef struct AmlCpcInfo {
32 /// The revision number of the _CPC package format.
33 UINT32 Revision;
34
35 /// Indicates the highest level of performance the processor
36 /// is theoretically capable of achieving.
37 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE HighestPerformanceBuffer;
38 UINT32 HighestPerformanceInteger;
39
40 /// Indicates the highest sustained performance level of the processor.
41 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE NominalPerformanceBuffer;
42 UINT32 NominalPerformanceInteger;
43
44 /// Indicates the lowest performance level of the processor with non-linear power savings.
45 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE LowestNonlinearPerformanceBuffer;
46 UINT32 LowestNonlinearPerformanceInteger;
47
48 /// Indicates the lowest performance level of the processor..
49 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE LowestPerformanceBuffer;
50 UINT32 LowestPerformanceInteger;
51
52 /// Guaranteed Performance Register Buffer.
53 /// Optional
54 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE GuaranteedPerformanceRegister;
55
56 /// Desired Performance Register Buffer.
57 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE DesiredPerformanceRegister;
58
59 /// Minimum Performance Register Buffer.
60 /// Optional
61 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE MinimumPerformanceRegister;
62
63 /// Maximum Performance Register Buffer.
64 /// Optional
65 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE MaximumPerformanceRegister;
66
67 /// Performance Reduction Tolerance Register.
68 /// Optional
69 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE PerformanceReductionToleranceRegister;
70
71 /// Time Window Register.
72 /// Optional
73 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE TimeWindowRegister;
74
75 /// Counter Wraparound Time
76 /// Optional
77 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE CounterWraparoundTimeBuffer;
78 UINT32 CounterWraparoundTimeInteger;
79
80 /// Reference Performance Counter Register
81 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE ReferencePerformanceCounterRegister;
82
83 /// Delivered Performance Counter Register
84 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE DeliveredPerformanceCounterRegister;
85
86 /// Performance Limited Register
87 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE PerformanceLimitedRegister;
88
89 /// CPPC EnableRegister
90 /// Optional
91 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE CPPCEnableRegister;
92
93 /// Autonomous Selection Enable
94 /// Optional
95 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE AutonomousSelectionEnableBuffer;
96 UINT32 AutonomousSelectionEnableInteger;
97
98 /// AutonomousActivity-WindowRegister
99 /// Optional
100 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE AutonomousActivityWindowRegister;
101
102 /// EnergyPerformance-PreferenceRegister
103 /// Optional
104 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE EnergyPerformancePreferenceRegister;
105
106 /// Reference Performance
107 /// Optional
108 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE ReferencePerformanceBuffer;
109 UINT32 ReferencePerformanceInteger;
110
111 /// Lowest Frequency
112 /// Optional
113 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE LowestFrequencyBuffer;
114 UINT32 LowestFrequencyInteger;
115
116 /// Nominal Frequency
117 /// Optional
118 EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE NominalFrequencyBuffer;
119 UINT32 NominalFrequencyInteger;
120} AML_CPC_INFO;
121
122#pragma pack()
123
124#endif //AML_CPC_INFO_H_
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette