rockbox/firmware/target/mips/ingenic_x1000/spl.lds
Aidan MacDonald 3f26fcf340 FiiO M3K: New bootloader
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
2021-05-12 10:35:20 +00:00

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);
}
}