Ignore:
Timestamp:
Feb 1, 2002, 4:45:18 PM (19 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
8e3caa5
Parents:
2835b3a5
Message:

2001-02-01 Greg Menke <gregory.menke@…>

  • Update of BSP to address problems restarting, provide more information during boot, and better handle ROM vs RAM images.
  • README, include/bsp.h, start/regs.S, start/start.S, startup/bspstart.c, startup/linkcmds, timer/timer.c: Updated
File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds

    r2835b3a5 r7de58239  
    66 */
    77
     8/*    . = 0x80020000; */
     9
    810/*
    911 * Declare some sizes.
    1012 */
     13
    1114_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000000;
    1215_RamSize = DEFINED(_RamSize) ? _RamSize : 32M;
    13 HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
     16HeapSize = DEFINED(HeapSize) ? HeapSize : 0x40000;
    1417_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
    1518ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
    1619
     20
     21
     22MEMORY
     23{
     24   romstore : ORIGIN = 0xbfc40000, LENGTH = 4M
     25   ram      : ORIGIN = 0x80020000, LENGTH = 4M
     26}
     27
    1728SECTIONS
    1829{
    19 /*
    20 Ken's response is correct.  Locate it at 0x80020000 or higher.  The PMON
    21 data segment after the exception vectors and below 0x80020000,
    22 
    23 . = 0x80020000;
    24 */
    25     . = 0x80020000;
    2630    .text :
    2731    {
     
    3640      PROVIDE (__runtime_reloc_start = .);
    3741      *(.rel.sdata)
     42      *(.rel.dyn)
    3843      PROVIDE (__runtime_reloc_stop = .);
    3944      *(.fini)
    40        etext  =  .;
    41        _etext  =  .;
    42     } 
    43   .ctors    :
     45    } >ram  AT>romstore
     46
     47  .ctors    :
    4448  {
    4549    /* gcc uses crtbegin.o to find the start of
     
    6367    KEEP (*(SORT(.ctors.*)))
    6468    KEEP (*(.ctors))
    65   }
     69  } >ram  AT>romstore
    6670
    67   .dtors    :
     71  .dtors    : 
    6872  {
    6973    KEEP (*crtbegin.o(.dtors))
     
    7175    KEEP (*(SORT(.dtors.*)))
    7276    KEEP (*(.dtors))
    73   }
    7477
    75     . = .;
    76   .rdata : {
     78    etext  =  .;
     79    _etext  =  .;
     80  } >ram  AT>romstore
     81
     82/*    . = .; */
     83
     84  .rdata :
     85  {
    7786    *(.rdata)
    7887    *(.rodata)
    7988    *(.rodata.*)
    8089    *(.gnu.linkonce.r*)
    81   }
    82    _fdata = ALIGN(16);
    83   .data : {
     90  } >ram  AT>romstore
     91
     92  .data :
     93  {
     94    _fdata = ALIGN(16);
     95
    8496    *(.data)
    8597    *(.data.*)
    8698    *(.gnu.linkonce.d*)
    87   }
    88   . = ALIGN(8);
    89   _gp = . + 0x8000;
    90   __global = _gp;
    91   .lit8 : {
     99  } >ram  AT>romstore
     100
     101
     102  .lit8 :
     103  {
     104    . = ALIGN(8);
     105
     106    _gp = . + 0x8000;
     107    __global = _gp;
    92108    *(.lit8)
    93   }
    94   .lit4 : {
     109  } >ram  AT>romstore
     110
     111  .lit4 :
     112  {
    95113    *(.lit4)
    96   }
    97   .sdata : {
     114  } >ram  AT>romstore
     115
     116  .sdata :   
     117  {
    98118    *(.sdata)
    99119    *(.sdata.*)
    100120    *(.gnu.linkonce.s*)
    101   }
     121  } >ram  AT>romstore
     122
     123  .sbss :
     124  {
    102125  . = ALIGN(4);
    103126   edata  =  .;
    104127   _edata  =  .;
    105128   _fbss = .;
    106   .sbss : {
    107129    *(.sbss)
    108130    *(.scommon)
    109   }
    110   .bss : {
     131  } >ram  AT>romstore
     132
     133
     134  .bss :
     135  {
    111136    _bss_start = . ;
    112137    *(.bss)
     138    *(.reginfo)
    113139    *(COMMON)
    114140    . = ALIGN (64);
     
    121147    . += HeapSize;    /* reserve some memory for heap */
    122148    WorkspaceBase = .;
    123   }
    124  end = .;
    125  _end = .;
     149    end = .;
     150    _end = .;
     151  } >ram  AT>romstore
    126152
    127153
    128 /* Put starting stack in SRAM (8 Kb); this size is the same as the stack from
    129       the original script (when everything was in SRAM). */
    130    /* __stack = 0x8000A000; */
    131   /* DWARF debug sections.
    132      Symbols in the DWARF debugging sections are relative to
    133      the beginning of the section so we begin them at 0.  */
     154/*
     155** DWARF debug sections.
     156** Symbols in the DWARF debugging sections are relative to
     157** the beginning of the section so we begin them at 0. 
     158*/
    134159
    135160  /* DWARF 1 */
    136   .debug          0 : { *(.debug) }
    137   .line           0 : { *(.line) }
     161  .debug          0 : { *(.debug) } AT>romstore
     162  .line           0 : { *(.line) } AT>romstore
    138163
    139164  /* GNU DWARF 1 extensions */
    140   .debug_srcinfo  0 : { *(.debug_srcinfo) }
    141   .debug_sfnames  0 : { *(.debug_sfnames) }
     165  .debug_srcinfo  0 : { *(.debug_srcinfo) } AT>romstore
     166  .debug_sfnames  0 : { *(.debug_sfnames) } AT>romstore
    142167
    143168  /* DWARF 1.1 and DWARF 2 */
    144   .debug_aranges  0 : { *(.debug_aranges) }
    145   .debug_pubnames 0 : { *(.debug_pubnames) }
     169  .debug_aranges  0 : { *(.debug_aranges) } AT>romstore
     170  .debug_pubnames 0 : { *(.debug_pubnames) } AT>romstore
    146171
    147172  /* DWARF 2 */
    148   .debug_info     0 : { *(.debug_info) }
    149   .debug_abbrev   0 : { *(.debug_abbrev) }
    150   .debug_line     0 : { *(.debug_line) }
    151   .debug_frame    0 : { *(.debug_frame) }
    152   .debug_str      0 : { *(.debug_str) }
    153   .debug_loc      0 : { *(.debug_loc) }
    154   .debug_macinfo  0 : { *(.debug_macinfo) }
     173  .debug_info     0 : { *(.debug_info) }    AT>romstore
     174  .debug_abbrev   0 : { *(.debug_abbrev) }  AT>romstore
     175  .debug_line     0 : { *(.debug_line) }    AT>romstore
     176  .debug_frame    0 : { *(.debug_frame)}    AT>romstore
     177  .debug_str      0 : { *(.debug_str) }     AT>romstore
     178  .debug_loc      0 : { *(.debug_loc) }     AT>romstore
     179  .debug_macinfo  0 : { *(.debug_macinfo) } AT>romstore
    155180
    156181  /* SGI/MIPS DWARF 2 extensions */
    157   .debug_weaknames 0 : { *(.debug_weaknames) }
    158   .debug_funcnames 0 : { *(.debug_funcnames) }
    159   .debug_typenames 0 : { *(.debug_typenames) }
    160   .debug_varnames  0 : { *(.debug_varnames) }
     182  .debug_weaknames 0 : { *(.debug_weaknames) } AT>romstore
     183  .debug_funcnames 0 : { *(.debug_funcnames) } AT>romstore
     184  .debug_typenames 0 : { *(.debug_typenames) } AT>romstore
     185  .debug_varnames  0 : { *(.debug_varnames) }  AT>romstore
    161186}
Note: See TracChangeset for help on using the changeset viewer.