From f0a8b042c9f1eed9b149398d27e16ec590641881 Mon Sep 17 00:00:00 2001 From: Felix Held Date: Fri, 12 May 2023 15:55:06 +0200 Subject: [PATCH] acpi/Kconfig: move \_SB scope out of ACPI_CPU_STRING MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In ACPI 1.0 the processor objects were inside the \_PR scope, but since ACPI 2.0 the \_SB scope can be used for that. Outside of coreboot some firmwares still used the \_PR scope for a while for legacy ACPI 1.0 OS compatibility, but apart from that the \_PR scope is deprecated. coreboot already uses the \_SB scope for the processor devices everywhere, so move the \_SB scope out of the ACPI_CPU_STRING to the format string inside the 3 snprintf statements that use the ACPI_CPU_STRING. Signed-off-by: Felix Held Suggested-by: Kyösti Mälkki Change-Id: I76f18594a3a623b437a163c270547d3e9618c31a Reviewed-on: https://review.coreboot.org/c/coreboot/+/75167 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber Reviewed-by: Tim Wawrzynczak Reviewed-by: Matt DeVillier Reviewed-by: Fred Reitberger Reviewed-by: Kyösti Mälkki --- src/acpi/Kconfig | 6 ++---- src/acpi/acpigen.c | 5 +++-- src/cpu/amd/pi/00730F01/Kconfig | 2 +- src/soc/amd/common/block/cpu/Kconfig | 2 +- src/soc/amd/stoneyridge/Kconfig | 2 +- src/soc/intel/common/block/acpi/cpu_hybrid.c | 2 +- src/soc/intel/xeon_sp/spr/Kconfig | 2 +- 7 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/acpi/Kconfig b/src/acpi/Kconfig index 3b02070554..a45a68c458 100644 --- a/src/acpi/Kconfig +++ b/src/acpi/Kconfig @@ -8,13 +8,11 @@ config ACPI_AMD_HARDWARE_SLEEP_VALUES config ACPI_CPU_STRING string - default "\\_SB.CP%02X" + default "CP%02X" depends on HAVE_ACPI_TABLES help Specifies the ACPI name format string used by the acpigen - function to generate the processor scope. Default is \_SB.CPxx. - Note that you need to escape the '\' character in the string. - The resulting string will be truncated to at most 15 chars. + function to generate the processor scope. Default is CPxx. config ACPI_HAVE_PCAT_8259 def_bool y if !ACPI_NO_PCAT_8259 diff --git a/src/acpi/acpigen.c b/src/acpi/acpigen.c index 6bc587577f..9a9f5c52bd 100644 --- a/src/acpi/acpigen.c +++ b/src/acpi/acpigen.c @@ -391,7 +391,7 @@ void acpigen_set_package_element_namestr(const char *package, unsigned int eleme void acpigen_write_processor_namestring(unsigned int cpu_index) { char buffer[16]; - snprintf(buffer, sizeof(buffer), CONFIG_ACPI_CPU_STRING, cpu_index); + snprintf(buffer, sizeof(buffer), "\\_SB." CONFIG_ACPI_CPU_STRING, cpu_index); acpigen_emit_namestring(buffer); } @@ -1939,7 +1939,8 @@ void acpigen_write_CPPC_package(const struct cppc_config *config) void acpigen_write_CPPC_method(void) { char pscope[16]; - snprintf(pscope, sizeof(pscope), CONFIG_ACPI_CPU_STRING "." CPPC_PACKAGE_NAME, 0); + snprintf(pscope, sizeof(pscope), + "\\_SB." CONFIG_ACPI_CPU_STRING "." CPPC_PACKAGE_NAME, 0); acpigen_write_method("_CPC", 0); acpigen_emit_byte(RETURN_OP); diff --git a/src/cpu/amd/pi/00730F01/Kconfig b/src/cpu/amd/pi/00730F01/Kconfig index e72c61ce03..af56c96ad7 100644 --- a/src/cpu/amd/pi/00730F01/Kconfig +++ b/src/cpu/amd/pi/00730F01/Kconfig @@ -10,6 +10,6 @@ if CPU_AMD_PI_00730F01 config ACPI_CPU_STRING string - default "\\_SB.P%03d" + default "P%03d" endif # CPU_AMD_PI_00730F01 diff --git a/src/soc/amd/common/block/cpu/Kconfig b/src/soc/amd/common/block/cpu/Kconfig index f7946c3fa3..857c8cba53 100644 --- a/src/soc/amd/common/block/cpu/Kconfig +++ b/src/soc/amd/common/block/cpu/Kconfig @@ -35,7 +35,7 @@ config CBFS_CACHE_SIZE config ACPI_CPU_STRING string - default "\\_SB.C%03d" + default "C%03d" endif # SOC_AMD_COMMON_BLOCK_NONCAR diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index 49eca5d1bf..f57111d863 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -268,7 +268,7 @@ config SMM_MODULE_STACK_SIZE config ACPI_CPU_STRING string - default "\\_SB.P%03d" + default "P%03d" config ACPI_SSDT_PSD_INDEPENDENT default n diff --git a/src/soc/intel/common/block/acpi/cpu_hybrid.c b/src/soc/intel/common/block/acpi/cpu_hybrid.c index 6e8b641332..9a7b768de6 100644 --- a/src/soc/intel/common/block/acpi/cpu_hybrid.c +++ b/src/soc/intel/common/block/acpi/cpu_hybrid.c @@ -158,7 +158,7 @@ void acpigen_write_CPPC_hybrid_method(s32 core_id) snprintf(pkg_path, sizeof(pkg_path), CPPC_PACKAGE_NAME, 0); else snprintf(pkg_path, sizeof(pkg_path), - CONFIG_ACPI_CPU_STRING "." CPPC_PACKAGE_NAME, 0); + "\\_SB." CONFIG_ACPI_CPU_STRING "." CPPC_PACKAGE_NAME, 0); acpigen_write_method("_CPC", 0); diff --git a/src/soc/intel/xeon_sp/spr/Kconfig b/src/soc/intel/xeon_sp/spr/Kconfig index 15b915da6b..4db0529bc1 100644 --- a/src/soc/intel/xeon_sp/spr/Kconfig +++ b/src/soc/intel/xeon_sp/spr/Kconfig @@ -25,7 +25,7 @@ config MAX_CPUS config ACPI_CPU_STRING string - default "\\_SB.C%03X" + default "C%03X" config SIPI_FINAL_TIMEOUT int