On Wed, Jul 31, 2013 at 10:50 AM, John Lewis jlewis@johnlewis.ie wrote:
On 31/07/2013 16:43, Aaron Durbin wrote:
On Wed, Jul 31, 2013 at 10:34 AM, John Lewis jlewis@johnlewis.ie wrote:
On 31/07/2013 16:20, Aaron Durbin wrote:
On Wed, Jul 31, 2013 at 10:18 AM, Aaron Durbin <adurbin@chromium.org [5]> wrote:
On Wed, Jul 31, 2013 at 10:00 AM, John Lewis <jlewis@johnlewis.ie [4][4]> wrote:
On 31/07/2013 15:33, Aaron Durbin wrote:
> On Wed, Jul 31, 2013 at 9:24 AM, John Lewis > <jlewis@johnlewis.ie [3][3]> wrote: > >> Hi all, Just want to confirm where we are in terms of things >> working or not. The new system-agent binary works and >> recognises all 4 GB of RAM as long as an additional pei data >> field is added to Stefan's patches in >> http://review.coreboot.org/#/c/3831/ [1] [1] [1] as detailed >> >> by Kyösti in the comments. The patches in >> http://review.coreboot.org/#/c/3830/ [2] [2] [2] don't appear >> >> to do anything for mrc.cache (it's still zero size) and this >> (or perhaps something else) results in a time to SeaBIOS >> prompt of between 5 to 9 seconds. > > Can you show us 'ls -l $(obj)/mrc.cache' ? I didn't see
-rw-rw-r--. 1 john john 0 Jul 31 11:04 mrc.cache
This is your problem. I was hoping for a build.log that was completely clean. The build log attached does not show mrc.cache being created. Can you try the following and rebuilt? dd if=/dev/zero of=mrc.cache bs=16K count=1 | tr '00' '377' > mrc.cache
Apologies. I am doing too many things at once. Remove the 'of=mrc.cache' parameter to dd.
The good news is that cbfstool now reports a non-zero mrc.cache, the bad news is it doesn't make any difference. cbmem -c reports Updating MRC cache data. No FMAP found at ffe70000. FMAP: area RW_MRC_CACHE not found find_current_mrc_cache_local: No valid MRC cache found. SF: Detected W25Q64 with page size 1000, total 800000 Need to erase the MRC cache region of -1 bytes at 0011037f SF: Erase offset/length not multiple of erase size Finally: write MRC cache update to flash at 0011037f ICH SPI: Data transaction error SF: Failed to send write command (1 bytes): -1 SF: Winbond Page Program failed
CONFIG_CHROMEOS=y
You have that option enabled. That's why you are seeing fmap calls. Therefore, it is not using the mrc.cache cbfs file. There's also the fact that certain variables are not initialized properly and thinking the callee will initialize them. cache_base should be set to NULL in update_mrc_cache() before calling get_mrc_cahce_region(). You'll see more enlightening messages. That, or ensure get_mrc_cache_region NULL's out the parameter.
In short, don't enable CONFIG_CHROMEOS.
Menuconfig enables it by default, and there is no option to uncheck. If I set it to 'n' or comment in .config I get:
build/generated/crt0.romstage.o: In function `main': /home/john/coreboot/src/mainboard/samsung/lumpy/romstage.c:215: undefined reference to `save_chromeos_gpios' /home/john/coreboot/src/mainboard/samsung/lumpy/romstage.c:362: undefined reference to `init_chromeos' build/northbridge/intel/sandybridge/mrccache.romstage.o: In function `get_mrc_cache_region': /home/john/coreboot/src/northbridge/intel/sandybridge/mrccache.c:71: undefined reference to `find_fmap_entry' build/northbridge/intel/sandybridge/raminit.romstage.o: In function `sdram_initialize': /home/john/coreboot/src/northbridge/intel/sandybridge/raminit.c:240: undefined reference to `recovery_mode_enabled' collect2: error: ld returned 1 exit status make: *** [build/cbfs/fallback/romstage_null.debug] Error 1
Fantastic. In src/mainboard/samsung/lumpy/Kconfig remove 'select CHROMEOS'. You'll need to do a 'make oldconfig' then rebuild.
Fwiw, you can't set it to 'n'. It needs to be '# CONFIG_CHROMEOS is not set'. But since you did set it to 'n' the dependency object files weren't included in the link. Anyway, do a clean build after removing 'select CHROMEOS'.
hth.
-Aaron