/*
-----------------------------------------------------------------------------
 This code is licensed to you under the terms of the GNU GPL, version 2 or,
 at your option, any later version. See the LICENSE.txt file for the text of
 the license.
-----------------------------------------------------------------------------
 Bootrom linker script
-----------------------------------------------------------------------------
*/

INCLUDE ../common/ldscript.common

PHDRS
{
    phase1 PT_LOAD;
    phase2 PT_LOAD;
    bss PT_LOAD;
}

ENTRY(flashstart)
SECTIONS
{
    .bootphase1 : {
        *(.startup)

        . = ALIGN(4);
        _version_information_start = .;
        KEEP(*(.version_information));

        . = LENGTH(bootphase1) - 0x4;
        LONG(_version_information_start);
    } >bootphase1 :phase1

    .bootphase2 : {
        *(.startphase2)
        *(.text)
        *(.text.*)
        *(.eh_frame)
        *(.glue_7)
        *(.glue_7t)
        *(.rodata)
        *(.rodata.*)
        *(.data)
        *(.data.*)
        . = ALIGN(4);
    } >ram AT>bootphase2 :phase2

    __bootphase2_src_start__ = LOADADDR(.bootphase2);
    __bootphase2_start__ = ADDR(.bootphase2);
    __bootphase2_end__ = __bootphase2_start__ + SIZEOF(.bootphase2);

    .bss : {
        __bss_start__ = .;
        *(.bss)
        *(.bss.*)
        . = ALIGN(4);
        __bss_end__ = .;
    } >ram AT>ram :bss

    .commonarea (NOLOAD) : {
        *(.commonarea)
    } >commonarea
}