]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkPlatformPkg/Acpi/AcpiTables/Cpu0Ist/Cpu0Ist.asl
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / QuarkPlatformPkg / Acpi / AcpiTables / Cpu0Ist / Cpu0Ist.asl
1 /** @file
2 CPU EIST control methods
3
4 Copyright (c) 2013-2015 Intel Corporation.
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 DefinitionBlock (
11 "CPU0IST.aml",
12 "SSDT",
13 0x01,
14 "SsgPmm",
15 "Cpu0Ist",
16 0x0012
17 )
18 {
19 External (PDC0, IntObj)
20 External (CFGD, FieldUnitObj)
21 External(\_PR.CPU0, DeviceObj)
22
23 Scope(\_PR.CPU0)
24 {
25 Method(_PPC,0)
26 {
27 Return(ZERO) // Return All States Available.
28 }
29
30 Method(_PCT,0)
31 {
32 //
33 // If GV3 is supported and OSPM is capable of direct access to
34 // performance state MSR, we use MSR method
35 //
36 //
37 // PDCx[0] = Indicates whether OSPM is capable of direct access to
38 // performance state MSR.
39 //
40 If(LAnd(And(CFGD,0x0001), And(PDC0,0x0001)))
41 {
42 Return(Package() // MSR Method
43 {
44 ResourceTemplate(){Register(FFixedHW, 0, 0, 0)},
45 ResourceTemplate(){Register(FFixedHW, 0, 0, 0)}
46 })
47
48 }
49
50 //
51 // Otherwise, we use smi method
52 //
53 Return(Package() // SMI Method
54 {
55 ResourceTemplate(){Register(SystemIO,16,0,0xB2)},
56 ResourceTemplate(){Register(SystemIO, 8,0,0xB3)}
57 })
58 }
59
60 Method(_PSS,0)
61 {
62 //
63 // If OSPM is capable of direct access to performance state MSR,
64 // we report NPSS, otherwise, we report SPSS.
65 If (And(PDC0,0x0001))
66 {
67 Return(NPSS)
68 }
69
70 Return(SPSS)
71 }
72
73 Name(SPSS,Package()
74 {
75 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
76 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
77 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
78 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
79 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
80 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
81 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
82 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
83 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
84 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
85 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
86 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000}
87 })
88
89 Name(NPSS,Package()
90 {
91 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
92 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
93 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
94 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
95 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
96 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
97 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
98 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
99 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
100 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
101 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
102 Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000}
103 })
104
105 Method(_PSD,0)
106 {
107 //
108 // If CMP is suppored, we report the dependency with two processors
109 //
110 If(And(CFGD,0x1000000))
111 {
112 //
113 // If OSPM is capable of hardware coordination of P-states, we report
114 // the dependency with hardware coordination.
115 //
116 // PDCx[11] = Indicates whether OSPM is capable of hardware coordination of P-states
117 //
118 If(And(PDC0,0x0800))
119 {
120 Return(Package(){
121 Package(){
122 5, // # entries.
123 0, // Revision.
124 0, // Domain #.
125 0xFE, // Coord Type- HW_ALL.
126 2 // # processors.
127 }
128 })
129 }
130
131 //
132 // Otherwise, the dependency with OSPM coordination
133 //
134 Return(Package(){
135 Package(){
136 5, // # entries.
137 0, // Revision.
138 0, // Domain #.
139 0xFC, // Coord Type- SW_ALL.
140 2 // # processors.
141 }
142 })
143 }
144
145 //
146 // Otherwise, we report the dependency with one processor
147 //
148 Return(Package(){
149 Package(){
150 5, // # entries.
151 0, // Revision.
152 0, // Domain #.
153 0xFC, // Coord Type- SW_ALL.
154 1 // # processors.
155 }
156 })
157 }
158 }
159 }