[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