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

--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to