VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/DynamicTablesPkg/Include/AcpiObjects.h@ 106901

Last change on this file since 106901 was 105670, checked in by vboxsync, 6 months ago

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

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

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