[coreboot] fam10/h8dmr: extreme slowness in CBFS memset / memcpy
Ward Vandewege
ward at gnu.org
Mon Jul 20 03:23:21 CEST 2009
Hi all,
I'm working on a fam10 tree for supermicro h8dmr. I'm using CBFS.
It boots, but I'm struggling with some extreme slowness during boot. In
particular, the memset function in src/lib/memset.c takes *minutes* to clear
1.2MB of ram. A little further CBFS does a memcpy which takes another 20 or
30 seconds:
Stage: load fallback/coreboot_ram @ 2097152/1245184 bytes, enter @ 200000
....LOOOOOONG pause....
Stage: after memset
on-stack variables at 00ffbec8 and 00ffbed4
cbfs_decompress: algo: 0
cbfs_decompress: uncompressed
....another lengthy pause....
cbfs_decompress: memcpy from 0xffbecc to 0xffbed0 for 0x2d304 bytes done
Stage: done loading.
The first, lengthly pause is new; it is apparently caused by something
introduced between r4368 and r4440.
The second pause was there already in r4368.
I understand this may have something to do with MTRRs - looking at the logs
it seems MTRRs are not set up until well after CBFS has dealt with
coreboot_ram.
This box has 32GB of ram, in case that makes a difference.
Any suggestions?
Thanks,
Ward.
--
Ward Vandewege <ward at gnu.org>
More information about the coreboot
mailing list