On Fri, May 4, 2018 at 7:19 PM, Kyösti Mälkki kyosti.malkki@gmail.com wrote:
On Fri, May 4, 2018 at 6:37 PM, Aaron Durbin adurbin@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.
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