[coreboot] Strange corruption with printk
Rudolf Marek
r.marek at assembler.cz
Tue Mar 9 13:26:26 CET 2010
>>> The memory copy is not inline asm (will lead to subtle
>>> corruption), the memory copy and the stack switching are not in one
>>> inline asm block (gcc is free to insert arbitrary code in between), and
>>> the stack is switched in the middle of a function (gcc may use some
>>> non-clobbered regs to access the old stack, or simply die).
>>>
I fixed that with recent patch. Is it what you checked?
Myles, please check
1) If it does work without my patch ;)
2) Add the
static void set_init_ram_access_uc(void)
{
set_var_mtrr(0, 0x00000000, CONFIG_RAMTOP, MTRR_TYPE_UNCACHED);
}
And call the set_init_ram_access_uc instead of set_init_ram_access and call
again set_init_ram_access after the copy.
The CAR code as it is now is doing at least evictions to L2 maybe this will help.
Rudolf
More information about the coreboot
mailing list