[coreboot] memset called to somewhere high on the stack (uncached)
Kevin O'Connor
kevin at koconnor.net
Wed Apr 7 03:01:08 CEST 2010
On Tue, Apr 06, 2010 at 04:21:57PM -0600, Myles Watson wrote:
> I'm seeing code reads to memset() in coreboot_ram interleaved with byte
> writes to somewhere high on the stack (_estack -0x1fC). This is a k8.
>
> I can't find the place during the RAM stage when we are calling memset with
> caches disabled. Does this ring a bell for anyone?
Probably not related, but I found the code at
src/arch/i386/init/crt0.S.lb:
movl %ebp, %esi
/* FIXME: look for a proper place for the stack */
movl $0x4000000, %esp
movl %esp, %ebp
pushl %esi
pushl $str_coreboot_ram_name
call cbfs_and_run_core
to be problematic on my epia-cn back when I was running timing tests.
The stack was set to 0x4000000, but that memory wasn't cached. It
caused a really long delay - doubly so when lzma compression was used.
-Kevin
More information about the coreboot
mailing list