[coreboot] Where is the first instrucion?

Alex G. mr.nuke.me at gmail.com
Mon Jan 11 06:56:24 CET 2016


On 01/10/2016 10:23 AM, ron minnich wrote:
> One thing I think you'd enjoy doing is building the qemu target, setting
> up qemu with gdb, and just watching what happens, instruction by
> instruction, as the system boots.

One exercise I liked doing was to rewrite the entire boot flow, from
reset vector to protected mode entry. Tested on qemu, put it on
hardware, nothing burned.

Alex

> ron
> 
> On Sun, Jan 10, 2016 at 3:28 AM Rafael Machado
> <rafaelrodrigues.machado at gmail.com
> <mailto:rafaelrodrigues.machado at gmail.com>> wrote:
> 
>     Hi Peter and Rudolf.
>     Thanks for the answers and tips. They are realy helpfull !
>     I'll take a look.
> 
>     Rafael R. Machado
> 
> 
>     Em Sáb, 9 de jan de 2016 17:19, Rudolf Marek <r.marek at assembler.cz
>     <mailto:r.marek at assembler.cz>> escreveu:
> 
>         Hi,
> 
>         I guess your question is more general than the coreboot related
>         right?
> 
>         If you have a firmware image dump of the flash (not the file you
>         download from
>         board vendor) then yes, first location to be executed is the
>         instruction located
>         16 bytes before end of the image.
> 
>         In coreboot see in build/ bootblock_inc.S which also has
>         reset16.inc and
>         entry16.inc which is a real start. Consult the Intel or AMD
>         manual to see the
>         CPU state after reset. The CPU starts in real mode, but CS base
>         is shifted to
>         last 64KB before end of 4GB address space. In general your CPU
>         starts in
>         compatible mode with 8086 manufactured in 1978.
> 
>         Thanks
>         Rudolf
> 
>     --
>     coreboot mailing list: coreboot at coreboot.org
>     <mailto:coreboot at coreboot.org>
>     http://www.coreboot.org/mailman/listinfo/coreboot
> 
> 
> 



More information about the coreboot mailing list