//===========================================================================
//
// MLT linker script export - Wed Jan 13 10:41:43 1999
//
//===========================================================================
//####COPYRIGHTBEGIN####
//                                                                          
// -------------------------------------------                              
// The contents of this file are subject to the Red Hat eCos Public License 
// Version 1.1 (the "License"); you may not use this file except in         
// compliance with the License.  You may obtain a copy of the License at    
// http://www.redhat.com/                                                   
//                                                                          
// Software distributed under the License is distributed on an "AS IS"      
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
// License for the specific language governing rights and limitations under 
// the License.                                                             
//                                                                          
// The Original Code is eCos - Embedded Configurable Operating System,      
// released September 30, 1998.                                             
//                                                                          
// The Initial Developer of the Original Code is Red Hat.                   
// Portions created by Red Hat are                                          
// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
// All Rights Reserved.                                                     
// -------------------------------------------                              
//                                                                          
//####COPYRIGHTEND####
//===========================================================================


// The ram_vectors section is to allow some free space to copy vectors into
// from the ROM.  This is required to be variable size to accomodate SVT or
// MVT; 80 bytes vs 4kB.  Copying is not necessary with MVT, but it is
// optional because it may offer performance gains.  Copying is required
// for SVT because the (aligned) start of ROM contains initialization
// instructions.  RAM copy is used rather than leave a big gap in the ROM
// to get an aligned address for the trampoline code.  For RAM startup,
// ram_vectors will usually be of size zero, unless MVT and copying are
// enabled for memory estimation reasons.

MEMORY
{
    rom : ORIGIN = 0x00000000, LENGTH = 0x020000
    ram : ORIGIN = 0x04000000, LENGTH = 0x400000
}

SECTIONS
{
    SECTIONS_BEGIN
    SECTION_rom_vectors (rom, 0x0, LMA_EQ_VMA)
    SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
    SECTION_rodata (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_rodata1 (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_fixup (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_gcc_except_table (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_ram_vectors(ram, 0x04000000, LMA_EQ_VMA)
    SECTION_data (ram, ALIGN (0x8), FOLLOWING (.gcc_except_table))
    SECTION_bss (ram, ALIGN (0x8), LMA_EQ_VMA)
    SECTIONS_END
}
