[coreboot] question about post_cache_as_ram() function

Fengwei Zhang namedylan at gmail.com
Fri Dec 17 21:08:38 CET 2010


Hi all,

I am trying to understand how post_cache_as_ram() function works. As we 
know, there are two main parts of coreboot, which are cache_as_ram part 
and ram part. post_caches_as_ram function tries to copy data from 
cache_as_ram to ram.

I am very confused about the memory calculation such as
CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE - CONFIG_RAMTOP

I would appreciate if someone could explain a little bit for me.
CONFIG_DCACHE_RAM_BASE
CONFIG_DCACHE_RAM_SIZE
CONFIG_RAM_SIZE
CONFIG_RAMTOP

In addition, why do we need to set new esp here?
		/* set new esp */ /* before CONFIG_RAMBASE */
		"subl   %0, %%esp\n\t"
		::"a"( (CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE)- 
(CONFIG_RAMTOP) )



Best,
Fengwei




More information about the coreboot mailing list