summaryrefslogtreecommitdiff
path: root/src/soc/intel/fsp_baytrail
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-02-10 22:21:39 -0600
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2015-02-16 21:02:30 +0100
commit033bb4bc8d620288ed82fe982a32f567060499b6 (patch)
treebba24a07d463455825363b54894da14a6ba07025 /src/soc/intel/fsp_baytrail
parent4f731f2eabc9ef2c381b71515a3b2ff203c8653e (diff)
downloadcoreboot-033bb4bc8d620288ed82fe982a32f567060499b6.tar.xz
acpi: Generate valid ACPI processor objects
The existing code generated invalid ACPI processor objects if the core number was greater than 9. The first invalid object instance was autocorrected by Linux, but subsequent instances conflicted with each other, leading to a failure to boot if more than 10 CPU cores were installed. The modified code will function with up to 99 cores. Change-Id: I62dc0eb61ae2e2b7f7dcf30e9c7de09cd901a81c Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: http://review.coreboot.org/8422 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Diffstat (limited to 'src/soc/intel/fsp_baytrail')
-rw-r--r--src/soc/intel/fsp_baytrail/acpi/cpu.asl38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/soc/intel/fsp_baytrail/acpi/cpu.asl b/src/soc/intel/fsp_baytrail/acpi/cpu.asl
index 16f62ba309..f7e404daba 100644
--- a/src/soc/intel/fsp_baytrail/acpi/cpu.asl
+++ b/src/soc/intel/fsp_baytrail/acpi/cpu.asl
@@ -20,21 +20,21 @@
*/
/* These devices are created at runtime */
-External (\_PR.CPU0, DeviceObj)
-External (\_PR.CPU1, DeviceObj)
-External (\_PR.CPU2, DeviceObj)
-External (\_PR.CPU3, DeviceObj)
+External (\_PR.CP00, DeviceObj)
+External (\_PR.CP01, DeviceObj)
+External (\_PR.CP02, DeviceObj)
+External (\_PR.CP03, DeviceObj)
/* Notify OS to re-read CPU tables, assuming ^2 CPU count */
Method (PNOT)
{
If (LGreaterEqual (\PCNT, 2)) {
- Notify (\_PR.CPU0, 0x81) // _CST
- Notify (\_PR.CPU1, 0x81) // _CST
+ Notify (\_PR.CP00, 0x81) // _CST
+ Notify (\_PR.CP01, 0x81) // _CST
}
If (LGreaterEqual (\PCNT, 4)) {
- Notify (\_PR.CPU2, 0x81) // _CST
- Notify (\_PR.CPU3, 0x81) // _CST
+ Notify (\_PR.CP02, 0x81) // _CST
+ Notify (\_PR.CP03, 0x81) // _CST
}
}
@@ -42,12 +42,12 @@ Method (PNOT)
Method (PPCN)
{
If (LGreaterEqual (\PCNT, 2)) {
- Notify (\_PR.CPU0, 0x80) // _PPC
- Notify (\_PR.CPU1, 0x80) // _PPC
+ Notify (\_PR.CP00, 0x80) // _PPC
+ Notify (\_PR.CP01, 0x80) // _PPC
}
If (LGreaterEqual (\PCNT, 4)) {
- Notify (\_PR.CPU2, 0x80) // _PPC
- Notify (\_PR.CPU3, 0x80) // _PPC
+ Notify (\_PR.CP02, 0x80) // _PPC
+ Notify (\_PR.CP03, 0x80) // _PPC
}
}
@@ -55,12 +55,12 @@ Method (PPCN)
Method (TNOT)
{
If (LGreaterEqual (\PCNT, 2)) {
- Notify (\_PR.CPU0, 0x82) // _TPC
- Notify (\_PR.CPU1, 0x82) // _TPC
+ Notify (\_PR.CP00, 0x82) // _TPC
+ Notify (\_PR.CP01, 0x82) // _TPC
}
If (LGreaterEqual (\PCNT, 4)) {
- Notify (\_PR.CPU2, 0x82) // _TPC
- Notify (\_PR.CPU3, 0x82) // _TPC
+ Notify (\_PR.CP02, 0x82) // _TPC
+ Notify (\_PR.CP03, 0x82) // _TPC
}
}
@@ -68,10 +68,10 @@ Method (TNOT)
Method (PPKG)
{
If (LGreaterEqual (\PCNT, 4)) {
- Return (Package() {\_PR.CPU0, \_PR.CPU1, \_PR.CPU2, \_PR.CPU3})
+ Return (Package() {\_PR.CP00, \_PR.CP01, \_PR.CP02, \_PR.CP03})
} ElseIf (LGreaterEqual (\PCNT, 2)) {
- Return (Package() {\_PR.CPU0, \_PR.CPU1})
+ Return (Package() {\_PR.CP00, \_PR.CP01})
} Else {
- Return (Package() {\_PR.CPU0})
+ Return (Package() {\_PR.CP00})
}
}