summaryrefslogtreecommitdiff
path: root/ReferenceCode/AcpiTables/Dsdt/CPU.asl
blob: 7e6f6aa2a5470e4398325608a43f9e6ebd90bafb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
/**************************************************************************;
;*                                                                        *;
;*    Intel Confidential                                                  *;
;*                                                                        *;
;*    Intel Corporation - ACPI Reference Code for the Haswell             *;
;*    Family of Customer Reference Boards.                                *;
;*                                                                        *;
;*                                                                        *;
;*    Copyright (c)  1999 - 2013 Intel Corporation. All rights reserved   *;
;*    This software and associated documentation (if any) is furnished    *;
;*    under a license and may only be used or copied in accordance        *;
;*    with the terms of the license. Except as permitted by such          *;
;*    license, no part of this software or documentation may be           *;
;*    reproduced, stored in a retrieval system, or transmitted in any     *;
;*    form or by any means without the express written consent of         *;
;*    Intel Corporation.                                                  *;
;*                                                                        *;
;*                                                                        *;
;**************************************************************************/
/*++
  This file contains a 'Sample Driver' and is licensed as such  
  under the terms of your license agreement with Intel or your  
  vendor.  This file may be modified by the user, subject to    
  the additional terms of the license agreement                 
--*/



  // NOTE:  The _PDC Implementation is out of the scope of this
  // reference code.  Please see the latest Hyper-Threading Technology
  // Reference Code for complete implementation details.

  Scope(\_PR)
  {
  Processor(CPU0,   // Unique name for Processor 0.
    1,              // Unique ID for Processor 0.
    0x1810,         // CPU0 ACPI P_BLK address = ACPIBASE + 10h.
    6)              // CPU0 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU0 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU0 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU0 DEP NULL")
        Return(Package() {})
      }
    }
  }

  Processor(CPU1,   // Unique name for Processor 1.
    2,              // Unique ID for Processor 1.
    0x1810,
    6)              // CPU1 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU1 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU1 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU1 DEP NULL")
        Return(Package() {})
      }
    }
  }

  Processor(CPU2,   // Unique name for Processor 2.
    3,              // Unique ID for Processor 2.
    0x1810,
    6)              // CPU2 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU2 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU2 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU2 DEP NULL")
        Return(Package() {})
      }
    }
  }

  Processor(CPU3,   // Unique name for Processor 3.
    4,              // Unique ID for Processor 3.
    0x1810,
    6)              // CPU3 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU3 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU3 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU3 DEP NULL")
        Return(Package() {})
      }
    }
  }
  Processor(CPU4,   // Unique name for Processor 4.
    5,              // Unique ID for Processor 4.
    0x1810,
    6)              // CPU4 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU4 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU4 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU4 DEP NULL")
        Return(Package() {})
      }
    }
  }

  Processor(CPU5,   // Unique name for Processor 5.
    6,              // Unique ID for Processor 5.
    0x1810,
    6)              // CPU5 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU5 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU5 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU5 DEP NULL")
        Return(Package() {})
      }
    }
  }
  Processor(CPU6,   // Unique name for Processor 6.
    7,              // Unique ID for Processor 6.
    0x1810,
    6)              // CPU6 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU6 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU6 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU6 DEP NULL")
        Return(Package() {})
      }
    }
  }

  Processor(CPU7,   // Unique name for Processor 7.
    8,              // Unique ID for Processor 7.
    0x1810,
    6)              // CPU7 P_BLK length = 6 bytes.
  {
    Method(_DEP){
      ADBG("CPU7 DEP Call")
      If(LEqual(S0ID, 1)){
        ADBG("CPU7 DEP")
        Return(Package() {\_SB.PEPD})
      }Else{
        ADBG("CPU7 DEP NULL")
        Return(Package() {})
      }
    }
  }

  } // End _PR