summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-02-10 22:21:39 -0600
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2015-02-16 21:02:30 +0100
commit033bb4bc8d620288ed82fe982a32f567060499b6 (patch)
treebba24a07d463455825363b54894da14a6ba07025 /src/arch/x86
parent4f731f2eabc9ef2c381b71515a3b2ff203c8653e (diff)
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>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/boot/acpigen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/x86/boot/acpigen.c b/src/arch/x86/boot/acpigen.c
index 8e7ce463c1..76fe2d6873 100644
--- a/src/arch/x86/boot/acpigen.c
+++ b/src/arch/x86/boot/acpigen.c
@@ -293,7 +293,7 @@ int acpigen_write_processor(u8 cpuindex, u32 pblock_addr, u8 pblock_len)
len = acpigen_write_len_f();
snprintf(pscope, sizeof (pscope),
- "\\_PR.CPU%x", (unsigned int) cpuindex);
+ "\\_PR.CP%02d", (unsigned int) cpuindex);
len += acpigen_emit_namestring(pscope);
acpigen_emit_byte(cpuindex);
acpigen_emit_byte(pblock_addr & 0xff);