[coreboot] [PATCH] faster AP launch for recent AMD processors

Myles Watson mylesgw at gmail.com
Mon Oct 18 19:04:46 CEST 2010


> To reduce boot time, removing the double startup IPI and 10 ms
> delay from lapic_cpu_init.c should be considered. Because I can
> test this code only on recent AMD cpu models, it is only safe
> to apply the change in those cases. The following patch uses
> a compile time check to identify CPUs where the change is known
> to work. Would a runtime check be better?
Until Fam10 and K8 can use the same image, compile time is probably the
correct way to do it.  If there ends up being a long list of processors that
don't need the wait, we could add a Kconfig option like
CONFIG_NO_LAPIC_DELAY.

> Signed-off-by: Scott Duplichan <scott at notabs.org>
Acked-by: Myles Watson <mylesgw at gmail.com>

> +   #if !defined (CONFIG_CPU_AMD_MODEL_10XXX) && !defined
> (CONFIG_CPU_AMD_MODEL_14XXX)
>         mdelay(10);
> +   #endif
> 
>         printk(BIOS_SPEW, "Deasserting INIT.\n");
> 
> @@ -144,6 +146,9 @@
>  #endif
> 
>         num_starts = 2;
> +   #if defined (CONFIG_CPU_AMD_MODEL_10XXX) || defined
> (CONFIG_CPU_AMD_MODEL_14XXX)
> +       num_starts = 1;
> +       #endif

I'd prefer it if they both used the same logic.  I think it will make it
easier to update in the future.  Maybe something like this:

#if !defined (CONFIG_CPU_AMD_MODEL_10XXX) && !defined
(CONFIG_CPU_AMD_MODEL_14XXX)
	num_starts = 2;
#else
	num_starts = 1;
#endif

Thanks,
Myles





More information about the coreboot mailing list