Timothy Pearson (tpearson@raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8422
-gerrit
commit 2c3240ae82a56b0a63b9f8c006eaec46392320e6 Author: Timothy Pearson tpearson@raptorengineeringinc.com Date: Tue Feb 10 22:21:39 2015 -0600
x86/boot: 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 --- src/arch/x86/boot/acpigen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arch/x86/boot/acpigen.c b/src/arch/x86/boot/acpigen.c index 8e7ce46..76fe2d6 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);