tree: drop last paragraph of GPL copyright header
[coreboot.git] / src / cpu / intel / fsp_model_406dx / acpi / cpu.asl
bloba95c54a71ca1e0d01bae6789684fcecc4e3c5fb7
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation; version 2 of
9  * the License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
17 /* These devices are created at runtime */
18 External (\_PR.CP00, DeviceObj)
19 External (\_PR.CP01, DeviceObj)
20 External (\_PR.CP02, DeviceObj)
21 External (\_PR.CP03, DeviceObj)
22 External (\_PR.CP04, DeviceObj)
23 External (\_PR.CP05, DeviceObj)
24 External (\_PR.CP06, DeviceObj)
25 External (\_PR.CP07, DeviceObj)
27 /* Notify OS to re-read CPU tables, assuming ^2 CPU count */
28 Method (PNOT)
30         If (LGreaterEqual (\PCNT, 2)) {
31                 Notify (\_PR.CP00, 0x81)  // _CST
32                 Notify (\_PR.CP01, 0x81)  // _CST
33         }
34         If (LGreaterEqual (\PCNT, 4)) {
35                 Notify (\_PR.CP02, 0x81)  // _CST
36                 Notify (\_PR.CP03, 0x81)  // _CST
37         }
38         If (LGreaterEqual (\PCNT, 8)) {
39                 Notify (\_PR.CP04, 0x81)  // _CST
40                 Notify (\_PR.CP05, 0x81)  // _CST
41                 Notify (\_PR.CP06, 0x81)  // _CST
42                 Notify (\_PR.CP07, 0x81)  // _CST
43         }
46 /* Notify OS to re-read CPU _PPC limit, assuming ^2 CPU count */
47 Method (PPCN)
49         If (LGreaterEqual (\PCNT, 2)) {
50                 Notify (\_PR.CP00, 0x80)  // _PPC
51                 Notify (\_PR.CP01, 0x80)  // _PPC
52         }
53         If (LGreaterEqual (\PCNT, 4)) {
54                 Notify (\_PR.CP02, 0x80)  // _PPC
55                 Notify (\_PR.CP03, 0x80)  // _PPC
56         }
57         If (LGreaterEqual (\PCNT, 8)) {
58                 Notify (\_PR.CP04, 0x80)  // _PPC
59                 Notify (\_PR.CP05, 0x80)  // _PPC
60                 Notify (\_PR.CP06, 0x80)  // _PPC
61                 Notify (\_PR.CP07, 0x80)  // _PPC
62         }
65 /* Notify OS to re-read Throttle Limit tables, assuming ^2 CPU count */
66 Method (TNOT)
68         If (LGreaterEqual (\PCNT, 2)) {
69                 Notify (\_PR.CP00, 0x82)  // _TPC
70                 Notify (\_PR.CP01, 0x82)  // _TPC
71         }
72         If (LGreaterEqual (\PCNT, 4)) {
73                 Notify (\_PR.CP02, 0x82)  // _TPC
74                 Notify (\_PR.CP03, 0x82)  // _TPC
75         }
76         If (LGreaterEqual (\PCNT, 8)) {
77                 Notify (\_PR.CP04, 0x82)  // _TPC
78                 Notify (\_PR.CP05, 0x82)  // _TPC
79                 Notify (\_PR.CP06, 0x82)  // _TPC
80                 Notify (\_PR.CP07, 0x82)  // _TPC
81         }
84 /* Return a package containing enabled processor entries */
85 Method (PPKG)
87         If (LGreaterEqual (\PCNT, 8)) {
88                 Return (Package() {\_PR.CP00, \_PR.CP01, \_PR.CP02, \_PR.CP03,
89                                    \_PR.CP04, \_PR.CP05, \_PR.CP06, \_PR.CP07})
90         } ElseIf (LGreaterEqual (\PCNT, 4)) {
91                 Return (Package() {\_PR.CP00, \_PR.CP01, \_PR.CP02, \_PR.CP03})
92         } ElseIf (LGreaterEqual (\PCNT, 2)) {
93                 Return (Package() {\_PR.CP00, \_PR.CP01})
94         } Else {
95                 Return (Package() {\_PR.CP00})
96         }