[coreboot-gerrit] New patch to review for coreboot: 4157c14 cpu/x86/lapic/lapic_cpu_init.c: Remove double startup IPI for AMD AGESA processors
Paul Menzel (paulepanter@users.sourceforge.net)
gerrit at coreboot.org
Sat Jun 15 10:59:21 CEST 2013
Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3468
-gerrit
commit 4157c14837bf0e02f12eb40ec4c53023cbc06de0
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date: Fri Jun 14 23:42:45 2013 +0200
cpu/x86/lapic/lapic_cpu_init.c: Remove double startup IPI for AMD AGESA processors
The following commit tried to do the same but used a non-existing
Kconfig define `CONFIG_CPU_AMD_MODEL_14XXX`.
commit 236aef238f6e5c735cc9f253746def582fbaf8ff
Author: Scott Duplichan <scott at notabs.org>
Date: Tue Oct 19 04:36:42 2010 +0000
To reduce boot time, remove the double startup IPI and 10 ms delay from lapic_cpu_init.c. The change is
currently restricted to recent model AMD processors, though it could be applied to others after successful testing.
This was the reason for it being removed – and unfortunately not
fixed – in the following commit.
commit 2bdfb48b13ab5c392ef2b1dd9a8bfda6c90b2e18
Author: Stefan Reinauer <reinauer at chromium.org>
Date: Tue Apr 3 16:17:11 2012 -0700
Fixes and Sandybridge support for lapic cpu init
Reviewed-on: http://review.coreboot.org/871
So try it again, by using `CPU_AMD_AGESA` as all AMD processors
using AGESA – currently Family 10h to 15h – should not need it.
Successfully tested on ASRock E350M1 with a Family 14h processor.
• coreboot serial log without the patch
01.026: +#startup loops: 2.
01.026: Sending STARTUP #1 to 1.
01.026: After apic_write.
01.027: Startup point 1.
01.027: Waiting for send to finish...
01.028: +Sending STARTUP #2 to 1.
01.027: After apic_write.
01.027: Startup point 1.
01.029: Waiting for send to finish...
01.029: +After Startup.
• coreboot serial log with the patch
00.993: +#startup loops: 1.
00.993: Sending STARTUP #1 to 1.
00.993: After apic_write.
00.993: Startup point 1.
00.993: Waiting for send to finish...
00.994: +After Startup.
Change-Id: Ib310f2e5ab4b463a82bf0fa9fa9141b556cabf60
Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
src/cpu/x86/lapic/lapic_cpu_init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cpu/x86/lapic/lapic_cpu_init.c b/src/cpu/x86/lapic/lapic_cpu_init.c
index fbc8aa4..08cbe96 100644
--- a/src/cpu/x86/lapic/lapic_cpu_init.c
+++ b/src/cpu/x86/lapic/lapic_cpu_init.c
@@ -167,7 +167,7 @@ static int lapic_start_cpu(unsigned long apicid)
return 0;
}
-#if !CONFIG_CPU_AMD_MODEL_10XXX
+#if !CONFIG_CPU_AMD_MODEL_10XXX && !CONFIG_CPU_AMD_AGESA
num_starts = 2;
#else
num_starts = 1;
More information about the coreboot-gerrit
mailing list