summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorMarc Jones <marcj303@gmail.com>2017-08-25 18:54:23 -0600
committerMartin Roth <martinroth@google.com>2017-08-29 15:58:23 +0000
commit7a2d4ea4eeb8c75c26bfb2c40e1ba0d4adb16e57 (patch)
tree6d36082a520b8f09fa5320b36e826f48c3053d24 /src/arch/x86
parent7bb0325884593bc9d3aceb4533703acfeb17084a (diff)
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 <marcj303@gmail.com> Reviewed-on: https://review.coreboot.org/21210 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/Kconfig9
-rw-r--r--src/arch/x86/acpigen.c4
2 files changed, 11 insertions, 2 deletions
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);