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>
This commit is contained in:
committed by
Alexandru Gagniuc
parent
4f731f2eab
commit
033bb4bc8d
@ -23,7 +23,7 @@
|
||||
* re-evaluate their _PPC and _CST tables.
|
||||
*/
|
||||
|
||||
External (\_PR.CPU0._PPC, IntObj)
|
||||
External (\_PR.CP00._PPC, IntObj)
|
||||
|
||||
Device (EC0)
|
||||
{
|
||||
@ -148,12 +148,12 @@ Device (EC0)
|
||||
Store (CTMP, Local0)
|
||||
|
||||
// Find and program number of P-States
|
||||
Store (SizeOf (\_PR.CPU0._PSS), MPST)
|
||||
Store (SizeOf (\_PR.CP00._PSS), MPST)
|
||||
Store ("Programming number of P-states: ", Debug)
|
||||
Store (MPST, Debug)
|
||||
|
||||
// Find and program the current P-State
|
||||
Store(\_PR.CPU0._PPC, NPST)
|
||||
Store(\_PR.CP00._PPC, NPST)
|
||||
Store ("Programming Current P-state: ", Debug)
|
||||
Store (NPST, Debug)
|
||||
}
|
||||
@ -192,7 +192,7 @@ Device (EC0)
|
||||
{
|
||||
Store ("Pstate Event 0x0E", Debug)
|
||||
|
||||
Store(\_PR.CPU0._PPC, Local0)
|
||||
Store(\_PR.CP00._PPC, Local0)
|
||||
Subtract(PPCM, 0x01, Local1)
|
||||
|
||||
If(LLess(Local0, Local1)) {
|
||||
@ -207,7 +207,7 @@ Device (EC0)
|
||||
Method (_Q0F)
|
||||
{
|
||||
Store ("Pstate Event 0x0F", Debug)
|
||||
Store(\_PR.CPU0._PPC, Local0)
|
||||
Store(\_PR.CP00._PPC, Local0)
|
||||
|
||||
If(Local0) {
|
||||
Decrement(Local0)
|
||||
|
Reference in New Issue
Block a user