Hi Hamo,

On Tue, Jun 14, 2011 at 8:44 AM, Hamo <[email protected]> wrote:
> Dear lists,
> I have been studying the boot process of coreboot more deeply, and
> following questions came out:
> 1. Which code clean the bss and set sp pointer to the stack? Since
> those addresses are defined in coreboot_ram.ld, Should it be in
> ramstage? If so, where are they? I don't find them. If not, where are
> they and how do they know the addresses of bss and stack?

        /* bss does not contain data, it is just a space that should be zero
         * initialized on startup. (typically uninitialized global variables)
         * crt0.S fills between _bss and _ebss with zeroes.
         */

As the comment says, it is handled by the ramstage crt0.S code. The
stack is the same that is used by romstage until it is changed by
ramstage.



> 2. What's the propose of romstage? Some init in romstage has been done
> in bootblock, and why those init are done twice?


What do you see done twice? There should be a minimal overlap. Some
things need to be setup for romstage to run.


Marc
-- 
http://se-eng.com

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

Reply via email to