| /* |
| * 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) |
| SECTIONS |
| { |
| . = _ROMBASE; |
| |
| /* 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); |
| *(.init.rodata.*); |
| *(.init.text); |
| *(.rodata.*); |
| *(.rom.data.*); |
| . = ALIGN(16); |
| _erom = .; |
| } |
| |
| _lrom = LOADADDR(.rom); |
| _elrom = LOADADDR(.rom) + SIZEOF(.rom); |
| |
| /DISCARD/ : { |
| *(.comment) |
| *(.note) |
| *(.comment.*) |
| *(.note.*) |
| } |
| } |