From 7a2d4ea4eeb8c75c26bfb2c40e1ba0d4adb16e57 Mon Sep 17 00:00:00 2001 From: Marc Jones Date: Fri, 25 Aug 2017 18:54:23 -0600 Subject: arch/x86: Add Kconfig option for ACPI \_PR CPU name string Add a Kconfig option to change the \PR.CPxx name string. This provides some flexibility when working with table not generated by coreboot. Change-Id: Ibc0c56783c6da80501e2177de96a414b592cb74f Signed-off-by: Marc Jones Reviewed-on: https://review.coreboot.org/21210 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Marshall Dawson --- src/arch/x86/Kconfig | 9 +++++++++ src/arch/x86/acpigen.c | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/arch') diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 14827cf0d8..dbfb8810c5 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -249,3 +249,12 @@ config SKIP_MAX_REBOOT_CNT_CLEAR Set to allow the payload to control normal/fallback image recovery. Note that it is the responsibility of the payload to reset the normal boot bit to 1 after each successsful boot. + +config ACPI_CPU_STRING + string + default "\\_PR.CP%02d" + depends on HAVE_ACPI_TABLES + help + Sets the ACPI name string in the processor scope as written by + the acpigen function. Default is \_PR.CPxx. Note that you need + the \ escape character in the string. diff --git a/src/arch/x86/acpigen.c b/src/arch/x86/acpigen.c index f9690b3368..758386d8a8 100644 --- a/src/arch/x86/acpigen.c +++ b/src/arch/x86/acpigen.c @@ -338,7 +338,7 @@ void acpigen_write_scope(const char *name) void acpigen_write_processor(u8 cpuindex, u32 pblock_addr, u8 pblock_len) { /* - Processor (\_PR.CPUcpuindex, cpuindex, pblock_addr, pblock_len) + Processor (\_PR.CPcpuindex, cpuindex, pblock_addr, pblock_len) { */ char pscope[16]; @@ -346,7 +346,7 @@ void acpigen_write_processor(u8 cpuindex, u32 pblock_addr, u8 pblock_len) acpigen_write_len_f(); snprintf(pscope, sizeof(pscope), - "\\_PR.CP%02d", (unsigned int) cpuindex); + CONFIG_ACPI_CPU_STRING, (unsigned int) cpuindex); acpigen_emit_namestring(pscope); acpigen_emit_byte(cpuindex); acpigen_emit_dword(pblock_addr); -- cgit v1.2.3