+++ /dev/null
-/** @file\r
-CPU EIST control methods\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-DefinitionBlock (\r
- "CPU0IST.aml",\r
- "SSDT",\r
- 0x01,\r
- "SsgPmm",\r
- "Cpu0Ist",\r
- 0x0012\r
- )\r
-{\r
- External (PDC0, IntObj)\r
- External (CFGD, FieldUnitObj)\r
- External(\_PR.CPU0, DeviceObj)\r
-\r
- Scope(\_PR.CPU0)\r
- {\r
- Method(_PPC,0)\r
- {\r
- Return(ZERO) // Return All States Available.\r
- }\r
-\r
- Method(_PCT,0)\r
- {\r
- //\r
- // If GV3 is supported and OSPM is capable of direct access to\r
- // performance state MSR, we use MSR method\r
- //\r
- //\r
- // PDCx[0] = Indicates whether OSPM is capable of direct access to\r
- // performance state MSR.\r
- //\r
- If(LAnd(And(CFGD,0x0001), And(PDC0,0x0001)))\r
- {\r
- Return(Package() // MSR Method\r
- {\r
- ResourceTemplate(){Register(FFixedHW, 0, 0, 0)},\r
- ResourceTemplate(){Register(FFixedHW, 0, 0, 0)}\r
- })\r
-\r
- }\r
-\r
- //\r
- // Otherwise, we use smi method\r
- //\r
- Return(Package() // SMI Method\r
- {\r
- ResourceTemplate(){Register(SystemIO,16,0,0xB2)},\r
- ResourceTemplate(){Register(SystemIO, 8,0,0xB3)}\r
- })\r
- }\r
-\r
- Method(_PSS,0)\r
- {\r
- //\r
- // If OSPM is capable of direct access to performance state MSR,\r
- // we report NPSS, otherwise, we report SPSS.\r
- If (And(PDC0,0x0001))\r
- {\r
- Return(NPSS)\r
- }\r
-\r
- Return(SPSS)\r
- }\r
-\r
- Name(SPSS,Package()\r
- {\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000}\r
- })\r
-\r
- Name(NPSS,Package()\r
- {\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000},\r
- Package(){0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000}\r
- })\r
-\r
- Method(_PSD,0)\r
- {\r
- //\r
- // If CMP is suppored, we report the dependency with two processors\r
- //\r
- If(And(CFGD,0x1000000))\r
- {\r
- //\r
- // If OSPM is capable of hardware coordination of P-states, we report\r
- // the dependency with hardware coordination.\r
- //\r
- // PDCx[11] = Indicates whether OSPM is capable of hardware coordination of P-states\r
- //\r
- If(And(PDC0,0x0800))\r
- {\r
- Return(Package(){\r
- Package(){\r
- 5, // # entries.\r
- 0, // Revision.\r
- 0, // Domain #.\r
- 0xFE, // Coord Type- HW_ALL.\r
- 2 // # processors.\r
- }\r
- })\r
- }\r
-\r
- //\r
- // Otherwise, the dependency with OSPM coordination\r
- //\r
- Return(Package(){\r
- Package(){\r
- 5, // # entries.\r
- 0, // Revision.\r
- 0, // Domain #.\r
- 0xFC, // Coord Type- SW_ALL.\r
- 2 // # processors.\r
- }\r
- })\r
- }\r
-\r
- //\r
- // Otherwise, we report the dependency with one processor\r
- //\r
- Return(Package(){\r
- Package(){\r
- 5, // # entries.\r
- 0, // Revision.\r
- 0, // Domain #.\r
- 0xFC, // Coord Type- SW_ALL.\r
- 1 // # processors.\r
- }\r
- })\r
- }\r
- }\r
-}\r