3f26fcf340
SPL and UCL-compressed bootloader are now packed into one output, bootloader.m3k, eliminating the separate SPL build phase. The Rockbox bootloader now has a recovery menu, accessible by holding VOL+ when booting, that lets you back up, restore, and update the bootloader from the device. Change-Id: I642c6e5fb83587a013ab2fbfd1adab439561ced2
58 lines
1 KiB
Text
58 lines
1 KiB
Text
#include "config.h"
|
|
#include "cpu.h"
|
|
|
|
OUTPUT_FORMAT("elf32-littlemips")
|
|
OUTPUT_ARCH(MIPS)
|
|
ENTRY(_spl_start)
|
|
STARTUP(target/mips/ingenic_x1000/spl-start.o)
|
|
|
|
MEMORY {
|
|
/* First 4k of TCSM is used by mask ROM for stack + variables,
|
|
* and the next 2k are occupied by SPL header */
|
|
TCSM : ORIGIN = X1000_TCSM_BASE + 0x1800,
|
|
LENGTH = X1000_TCSM_SIZE - 0x1800
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
/* Mask ROM variables, addresses found by disassembly */
|
|
boot_sel = X1000_TCSM_BASE + 0x1ec;
|
|
|
|
.text :
|
|
{
|
|
*(.init.spl);
|
|
*(.text*);
|
|
*(.icode*);
|
|
} > TCSM
|
|
|
|
. = ALIGN(4);
|
|
.rodata :
|
|
{
|
|
*(.rodata*);
|
|
} > TCSM
|
|
|
|
. = ALIGN(4);
|
|
.data :
|
|
{
|
|
*(.data*);
|
|
*(.sdata*);
|
|
} > TCSM
|
|
|
|
. = ALIGN(4);
|
|
.bss (NOLOAD) :
|
|
{
|
|
_bssbegin = .;
|
|
*(.sbss*);
|
|
*(.bss*);
|
|
*(COMMON);
|
|
*(.scommon*);
|
|
_bssend = .;
|
|
} > TCSM
|
|
|
|
/DISCARD/ :
|
|
{
|
|
*(.MIPS.abiflags);
|
|
*(.eh_frame);
|
|
*(.rel.dyn);
|
|
}
|
|
}
|