[coreboot] Infinite loop with fsp_baytrail and COLLECT_TIMESTAMPS in coreboot 4.2

Ben Gardner gardner.ben at gmail.com
Wed Nov 18 21:12:42 CET 2015


Hi all,

Has anyone else tried coreboot 4.2 on fsp_baytrail with
COLLECT_TIMESTAMPS enabled?

I'm seeing the console flooded with an infinite loop of "ERROR:
Timestamp table full".

The last few post codes are: 4a 4b 4c 4d.
That puts it in fsp_baytrail / romstage.c in romstage_main_continue():

...
/* if S3 resume skip ram check */
if (prev_sleep_state != 3) {
  quick_ram_check();
  post_code(0x4d);
}

cbmem_was_initted = !cbmem_recovery(prev_sleep_state == 3);

/* Save the HOB pointer in CBMEM to be used in ramstage*/
cbmem_hob_ptr = cbmem_add (CBMEM_ID_HOB_POINTER, sizeof(*hob_list_ptr));
*(u32*)cbmem_hob_ptr = (u32)hob_list_ptr;
post_code(0x4e);
...

I had console logging set at NOTICE, so I missed some possibly important logs.
Based on a look through the code, I'm guessing the call tree is:
romstage_main_continue()
cbmem_recovery()
cbmem_initialize_empty()
cbmem_initialize_empty_id_size()
cbmem_run_init_hooks()
timestamp_sync_cache_to_cbmem()
timestamp_add_table_entry()

Side note: it takes 15 minutes to load the BIOS using an external
programmer, so I didn't experiment too much.  (Vs. ~30-60 seconds if
programmed using flashrom on the target.)
I just turned off timestamps and reloaded and it boots fine.

Any ideas?

Prior to rebasing on 4.2, I didn't have any issues with timestamps.
I was using 4.1 + a few patches.

Thanks,
Ben



More information about the coreboot mailing list