[coreboot] Where is the first instrucion?
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.
> 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:
> I guess your question is more general than the coreboot related
> 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.
> coreboot mailing list: coreboot at coreboot.org
> <mailto:coreboot at coreboot.org>
More information about the coreboot