X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=bootcensus;a=blobdiff_plain;f=pcboot.ld;h=e2c0308546e952dde858fbc1d2e0619a7c8a3db1;hp=f6291245002a03e2c67380a968e9f4f43a9abac7;hb=3cb6f9dad7e37db865bd3cbccf0b5d6471fdd73f;hpb=e5b5905eb3134a409638a5a20462000ef159e1e6 diff --git a/pcboot.ld b/pcboot.ld index f629124..e2c0308 100644 --- a/pcboot.ld +++ b/pcboot.ld @@ -1,10 +1,25 @@ OUTPUT_ARCH(i386) SECTIONS { - /* BIOS will load us at 0x7c000h */ - . = 0x7c000; + /* BIOS loads the boot code at 0000:7c00 */ + . = 0x7c00; .boot : { * (.boot); } + + /* second stage boot loader */ + .boot2 : { + * (.boot2); + /* pad the boot loader to the next sector boundary */ + . = ALIGN(512); + } + _boot2_size = SIZEOF(.boot2); + + /* main program will be loaded at 1MB by the second stage + * boot loader + */ + . = 1M; + _main_start = .; + .startup : { * (.startup); } .text : { * (.text); } .rodata : { * (.rodata); } @@ -18,5 +33,6 @@ SECTIONS { } _bss_size = SIZEOF(.bss); + _main_size = . - _main_start; _mem_start = .; }