Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/62517 )
Change subject: soc/amd/picasso/acpi: generate PPKG object in generate_cpu_entries call ......................................................................
soc/amd/picasso/acpi: generate PPKG object in generate_cpu_entries call
Generate the PPKG object in the generate_cpu_entries function instead of generating the PCNT object that is the used in the PPKG method in cpu.asl to provide the PPKG object. This both simplifies the code and aligns Picasso with Cezanne and Sabrina. This will also make the code behave correctly in a case where the number of CPU cores/threads isn't a power of two.
TEST=Mandolin still boots successfully to Linux desktop and dmesg doesn't show any any possibly related problems.
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: Ifb84435345c6d8c5d11a8b42e5538cfb86432780 --- M src/soc/amd/picasso/acpi.c M src/soc/amd/picasso/acpi/cpu.asl 2 files changed, 1 insertion(+), 54 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/62517/1
diff --git a/src/soc/amd/picasso/acpi.c b/src/soc/amd/picasso/acpi.c index cd8a0a0..9c798ca 100644 --- a/src/soc/amd/picasso/acpi.c +++ b/src/soc/amd/picasso/acpi.c @@ -355,7 +355,5 @@ acpigen_pop_len(); }
- acpigen_write_scope("\"); - acpigen_write_name_integer("PCNT", logical_cores); - acpigen_pop_len(); + acpigen_write_processor_package("PPKG", 0, logical_cores); } diff --git a/src/soc/amd/picasso/acpi/cpu.asl b/src/soc/amd/picasso/acpi/cpu.asl index b7395fc..29b5b5a 100644 --- a/src/soc/amd/picasso/acpi/cpu.asl +++ b/src/soc/amd/picasso/acpi/cpu.asl @@ -7,54 +7,3 @@ /* Report AC/DC state to ALIB using WAL1() */ \WAL1 () } - -/* - * Processor Object - */ -/* These devices are created at runtime */ -External (\PCNT, IntObj) -External (_SB.C000, DeviceObj) -External (_SB.C001, DeviceObj) -External (_SB.C002, DeviceObj) -External (_SB.C003, DeviceObj) -External (_SB.C004, DeviceObj) -External (_SB.C005, DeviceObj) -External (_SB.C006, DeviceObj) -External (_SB.C007, DeviceObj) - -/* Return a package containing enabled processor entries */ -Method (PPKG) -{ - If (\PCNT >= 8) { - Return (Package () - { - _SB.C000, - _SB.C001, - _SB.C002, - _SB.C003, - _SB.C004, - _SB.C005, - _SB.C006, - _SB.C007 - }) - } ElseIf (\PCNT >= 4) { - Return (Package () - { - _SB.C000, - _SB.C001, - _SB.C002, - _SB.C003 - }) - } ElseIf (\PCNT >= 2) { - Return (Package () - { - _SB.C000, - _SB.C001 - }) - } Else { - Return (Package () - { - _SB.C000 - }) - } -}