[U-Boot] uboot panic in get_ticks

Simon Glass sjg at chromium.org
Tue Oct 1 18:26:32 CEST 2013


+mailing list

Hi Aviral,

On Thu, Sep 26, 2013 at 1:20 PM, Pandey, Aviral
<Aviral.Pandey at arrisi.com> wrote:
> Hi Simon,
>
>
>
> First, I would like to apologize if I am not supposed to contact you
> directly about one of your changes in uboot for x86. I am using
> coreboot/uboot on an Intel Cavecreek based board and really appreciate the
> work you and others are doing to support coreboot with uboot.
>
>
>
> The code I am having trouble with is in arch/x86/lib/tsc_timer.c:
>
>
>
> u64 __attribute__((no_instrument_function)) get_ticks(void)
>
> {
>
>        u64 now_tick = rdtsc();
>
>
>
>        /* We assume that 0 means the base hasn't been set yet */
>
>        if (!gd->arch.tsc_base)
>
>              panic("No tick base available");
>
>        return now_tick - gd->arch.tsc_base;
>
> }
>
>
>
> I understand that the coreboot should have supplied the tsc_base in “struct
> timestamp_table” in CB_TAG_TIMESTAMPS. But the coreboot code, if not
> compiled with CONFIG_COLLECT_TIMESTAMPS does not really initialize/supply
> this table. I was wondering if we could simply supply a dummy base
> timestamp, or not panic the uboot in the highlighted line above so that a
> mismatched configuration can still boot? Or may be I am missing something?

Yes I think it would be OK to change that, but would be it be better
to update the message to tell you to define that CONFIG in Coreboot?

Regards,
Simon


More information about the U-Boot mailing list