/* * Memory map: * * _RAMBASE * : data segment * : bss segment * : heap * : stack * _ROMBASE * : coreboot text * : readonly text */ /* * Bootstrap code for the STPC Consumer * Copyright (c) 1999 by Net Insight AB. All Rights Reserved. * */ /* * Written by Johan Rydberg, based on work by Daniel Kahlin. * Rewritten by Eric Biederman */ /* * We use ELF as output format. So that we can * debug the code in some form. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) /* ENTRY(_start) */ TARGET(binary) INPUT(coreboot_ram.rom) SECTIONS { . = _ROMBASE; .ram . : { _ram = . ; coreboot_ram.rom(*) _eram = . ; } /* cut _start into last 64k*/ _x = .; . = (_x < (_ROMBASE - 0x10000 + ROM_IMAGE_SIZE)) ? (_ROMBASE - 0x10000 + ROM_IMAGE_SIZE) : _x; /* This section might be better named .setup */ .rom . : { _rom = .; *(.rom.text); *(.rom.data); *(.rom.data.*); . = ALIGN(16); _erom = .; } _lrom = LOADADDR(.rom); _elrom = LOADADDR(.rom) + SIZEOF(.rom); _iseg = _RAMBASE; _eiseg = _iseg + SIZEOF(.ram); _liseg = _ram; _eliseg = _eram; /DISCARD/ : { *(.comment) *(.note) *(.comment.*) *(.note.*) } }