Difference between revisions of "Developer Manual"

From coreboot
Jump to navigation Jump to search
m (Fixed the location of files mentioned.)
Line 44: Line 44:
## Initializing the console.
## Initializing the console.
## Initializing RAM controller and RAM itself.
## Initializing RAM controller and RAM itself.
# Execution continues at '''__main''' from '''src/arch/i386/init/crt0.S.lb''', where the non-romcc C coreboot code is copied (possibly decompressed) to RAM, then the RAM entry point is jumped to.
# Execution continues at '''__main''' from '''src/arch/x86/init/crt0_romcc_epilogue.inc''', where the non-romcc C coreboot code is copied (possibly decompressed) to RAM, then the RAM entry point is jumped to.
# The RAM entry point is '''_start''' in '''arch/i386/lib/c_start.S''', where new descriptor tables are set up, the stack and BSS are cleared, the IDT is initialized, and '''hardwaremain()''' is called (operation is now full 32-bit protected mode C program with stack).
# The RAM entry point is '''_start''' in '''src/arch/x86/lib/c_start.S''', where new descriptor tables are set up, the stack and BSS are cleared, the IDT is initialized, and '''hardwaremain()''' is called (operation is now full 32-bit protected mode C program with stack).
# '''hardwaremain()''' is from '''boot/hardwaremain.c''', the console is initialized, devices are enumerated and initialized, configured and enabled.
# '''hardwaremain()''' is from '''src/boot/hardwaremain.c''', the console is initialized, devices are enumerated and initialized, configured and enabled.
# The payload is called, either via '''elfboot()''' from '''boot/elfboot.c''', or '''filo()''' from '''boot/filo.c'''.
# The payload is called, either via '''elfboot()''' from '''boot/elfboot.c''', or '''filo()''' from '''boot/filo.c'''.



Revision as of 19:39, 13 May 2011