view packages/hal/sparclite/sleb/current/include/pkgconf/mlt_sparclite_sleb_rom.ldi @ 46:797268ecc331 ecos-sw-1999-10-19

Merge from eCos master repository on 1999-10-19-18:55:31-BST
author jlarmour
date Tue, 19 Oct 1999 19:19:52 +0000
parents 443894e2e912
children c38311975d4f
line wrap: on
line source

//===========================================================================
//
// MLT linker script export - Wed Jan 13 10:41:43 1999
//
//===========================================================================
//####COPYRIGHTBEGIN####
//
// -------------------------------------------
// The contents of this file are subject to the Cygnus eCos Public License
// Version 1.0 (the "License"); you may not use this file except in
// compliance with the License.  You may obtain a copy of the License at
// http://sourceware.cygnus.com/ecos
// 
// 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 Cygnus Operating System, released
// September 30, 1998.
// 
// The Initial Developer of the Original Code is Cygnus.  Portions created
// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  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
}