]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkPlatformPkg/Acpi/AcpiTables/Cpu0Tst/Cpu0Tst.asl
QuarkPlatformPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / QuarkPlatformPkg / Acpi / AcpiTables / Cpu0Tst / Cpu0Tst.asl
CommitLineData
b303605e
MK
1/** @file\r
2CPU T-state control methods\r
3\r
4Copyright (c) 2013-2015 Intel Corporation.\r
5\r
0eb3de2e 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
b303605e
MK
7\r
8**/\r
9\r
10DefinitionBlock (\r
11 "CPU0TST.aml",\r
12 "SSDT",\r
13 0x01,\r
14 "SsgPmm",\r
15 "Cpu0Tst",\r
16 0x0013\r
17 )\r
18{\r
19 External (PDC0, IntObj)\r
20 External (CFGD, FieldUnitObj)\r
21 External(\_PR.CPU0, DeviceObj)\r
22 External(_PSS)\r
23\r
24 Scope(\_PR.CPU0)\r
25 {\r
26 Method(_TPC,0)\r
27 {\r
28 Return(ZERO) // Return All States Available.\r
29 }\r
30\r
31 Name(TPTC, ResourceTemplate()\r
32 {\r
33 Memory32Fixed(ReadOnly, 0, 0, FIX1) // IO APIC\r
34 })\r
35\r
36 //\r
37 // If OSPM is capable of direct access to on demand throttling MSR,\r
38 // we use MSR method;otherwise we use IO method.\r
39 //\r
40 //\r
41 // PDCx[2] = Indicates whether OSPM is capable of direct access to\r
42 // on demand throttling MSR.\r
43 //\r
44 Method(_PTC, 0)\r
45 {\r
46 If(And(PDC0, 0x0004))\r
47 {\r
48 Return(Package() // MSR Method\r
49 {\r
50 ResourceTemplate(){Register(FFixedHW, 0, 0, 0)},\r
51 ResourceTemplate(){Register(FFixedHW, 0, 0, 0)}\r
52 }\r
53 )\r
54 }\r
55 Return(Package() // IO Method\r
56 {\r
57 //\r
58 // PM IO base ("PMBALVL0" will be updated at runtime)\r
59 //\r
60 ResourceTemplate(){Register(SystemIO, 4, 1, 0x304C564C41424D50)},\r
61 ResourceTemplate(){Register(SystemIO, 4, 1, 0x304C564C41424D50)}\r
62 }\r
63 )\r
64 }\r
65\r
66 //\r
67 // _TSS returned package for IO Method\r
68 //\r
69 Name(TSSI, Package()\r
70 {\r
71 Package(){100, 1000, 0, 0x00, 0}\r
72 }\r
73 )\r
74 //\r
75 // _TSS returned package for MSR Method\r
76 //\r
77 Name(TSSM, Package()\r
78 {\r
79 Package(){100, 1000, 0, 0x00, 0}\r
80 }\r
81 )\r
82\r
83 Method(_TSS, 0)\r
84 {\r
85 //\r
86 // If OSPM is capable of direct access to on demand throttling MSR,\r
87 // we report TSSM;otherwise report TSSI.\r
88 //\r
89 If(And(PDC0, 0x0004))\r
90 {\r
91 Return(TSSM)\r
92 }\r
93 Return(TSSI)\r
94 }\r
95\r
96 Method(_TSD, 0)\r
97 {\r
98 //\r
99 // If CMP is suppored, we report the dependency with two processors\r
100 //\r
101 If(LAnd(And(CFGD, 0x1000000), LNot(And(PDC0, 4))))\r
102 {\r
103 Return(Package()\r
104 {\r
105 Package()\r
106 {\r
107 5, // # entries.\r
108 0, // Revision.\r
109 0, // Domain #.\r
110 0xFD, // Coord Type- SW_ANY\r
111 2 // # processors.\r
112 }\r
113 }\r
114 )\r
115 }\r
116 //\r
117 // Otherwise, we report the dependency with one processor\r
118 //\r
119 Return(Package()\r
120 {\r
121 Package()\r
122 {\r
123 5, // # entries.\r
124 0, // Revision.\r
125 0, // Domain #.\r
126 0xFC, // Coord Type- SW_ALL\r
127 1 // # processors.\r
128 }\r
129 }\r
130 )\r
131 }\r
132 }\r
133}\r