[coreboot] PC Engines apu2 boot regression

Aaron Durbin adurbin at google.com
Fri May 4 19:22:52 CEST 2018


On Fri, May 4, 2018 at 11:16 AM, Kyösti Mälkki <kyosti.malkki at gmail.com> wrote:
> On Fri, May 4, 2018 at 7:19 PM, Kyösti Mälkki <kyosti.malkki at gmail.com> wrote:
>> On Fri, May 4, 2018 at 6:37 PM, Aaron Durbin <adurbin at google.com> wrote:
>>>>
>>>> Any idea what can be result of such weird behavior?
>>>
>
> My current guess is AP CPUs do not see initialised memory for
> _car_region_start .. _end. That region is set up using fixed MTRRs in
> low memory and probably not synced between cores so early in romstage.
>

Ugh.  Why do we allow the APs to run through all these stages? Is this
for parallel node memory training? Can we ring fence where the APs
actually run better?

>
> diff --git a/src/console/init.c b/src/console/init.c
> index 8f71b09..4731e7e 100644
> --- a/src/console/init.c
> +++ b/src/console/init.c
> @@ -35,7 +35,7 @@ static int console_loglevel = CONFIG_DEFAULT_CONSOLE_LOGLEVEL;
>
>  static inline int get_log_level(void)
>  {
> -       if (car_get_var(console_inited) == 0)
> +       if (boot_cpu() && car_get_var(console_inited) == 0)
>                 return -1;
>         if (CONSOLE_LEVEL_CONST)
>                 return get_console_loglevel();
>
> Kyösti



More information about the coreboot mailing list