Changeset 8cfdb56 in rtems


Ignore:
Timestamp:
Aug 7, 2002, 3:40:31 PM (17 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
46f31d1
Parents:
7a47bb5
Message:

2002-08-07 Ivan Guzvinec <ivang@…>

  • include/bsp.h, start/start.S, startup/linkcmds: Patches which were required to make the BSP run.
Location:
c/src/lib/libbsp/or32/orp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/or32/orp/ChangeLog

    r7a47bb5 r8cfdb56  
     12002-08-07      Ivan Guzvinec <ivang@opencores.org>
     2
     3        * include/bsp.h, start/start.S, startup/linkcmds: Patches which
     4        were required to make the BSP run.
     5
    162002-08-06      Joel Sherrill <joel@OARcorp.com>
    27
  • c/src/lib/libbsp/or32/orp/include/bsp.h

    r7a47bb5 r8cfdb56  
    7171/* Constants */
    7272
    73 #define RAM_START 0
    74 #define RAM_END   0x100000
     73#define RAM_START 0x10000000
     74#define RAM_END   0x10800000
    7575
    7676/* miscellaneous stuff assumed to exist */
  • c/src/lib/libbsp/or32/orp/start/start.S

    r7a47bb5 r8cfdb56  
    5757        .word   0x00000000                      # Trap
    5858
     59/*
    5960        PUBLIC(BOTTOM_OF_MEMORY)
    6061SYM (BOTTOM_OF_MEMORY):
    61         .word   0x00000000       # Assume RAM @ 0 for the sim
     62        .word   0x10000000       # Assume RAM @ 0 for the sim
    6263
    6364        PUBLIC(TOP_OF_MEMORY)
    6465SYM (TOP_OF_MEMORY):   
    65         .word   0x800000        # Assume RAM @ 0 for the sim
    66        
     66        .word   0x10800000      # Assume RAM @ 0 for the sim
     67*/     
    6768        PUBLIC(_mem_end)
    6869SYM (_mem_end):
    69         .word   0x00000000
     70        .word   0x10800000
    7071       
    7172        BEGIN_CODE
     
    209210        .scl    -1
    210211        .endef
    211        
     212
     213/****************************************************************************/
     214/* These constants must be in .text section in order to be                  */
     215/* properly addressed in code.                                              */
     216
     217        PUBLIC(BOTTOM_OF_MEMORY)
     218SYM (BOTTOM_OF_MEMORY):
     219        .word   0x10000000       # Assume RAM @ 0 for the sim
     220
     221        PUBLIC(TOP_OF_MEMORY)
     222SYM (TOP_OF_MEMORY):
     223        .word   0x10800000      # Assume RAM @ 0 for the sim
     224
     225/****************************************************************************/
    212226
    213227        /** Currently, about 57 of the 64 valid address locations
     
    707721           is not necessary. It will be very easy to add this later.
    708722         */     
    709         l.movhi         r4,hi(_data_start)
    710         l.ori           r4,r4,lo(_data_start)
     723        l.movhi         r4,hi(_etext)
     724        l.ori           r4,r4,lo(_etext)
    711725        l.movhi         r5,hi(_BOTTOM_OF_MEMORY)
    712726        l.ori           r5,r5,lo(_BOTTOM_OF_MEMORY)
    713727        l.lwz           r5,0(r5)            # Dereference it
    714         l.add           r5,r5,r4            # Place it in memory above the text segment
     728/*      l.add           r5,r5,r4            # Place it in memory above the text segment*/
    715729        l.movhi         r3,hi(_edata)
    716730        l.ori           r3,r3,lo(_edata)
     731        l.movhi         r5,hi(_data_start)
     732        l.ori           r5,r5,lo(_data_start)
    717733       
    718734L3_0:   
     
    720736        l.addi          r5,r5,4
    721737        l.addi          r4,r4,4
    722         l.sfeq          r3,r4
     738        l.sfeq          r3,r5
    723739        l.bnf           L3_0
    724740        l.sw            -4(r5),r6           # Minimize write after read stalls
    725741
    726742        /* Initialize the BSS segment */
    727         l.movhi         r3,hi(_bss_start)
    728         l.ori           r3,r3,lo(_bss_start)
    729         l.sub           r3,r3,r4
    730         l.add           r3,r3,r5
     743        l.movhi         r3,hi(__end)
     744        l.ori           r3,r3,lo(__end)
     745/*      l.sub           r3,r3,r4
     746        l.add           r3,r3,r5*/
    731747        l.sfleu         r3,r5
    732748        l.bf            L3_2               # Check for no BSS segment!
     
    734750               
    735751L3_1:
    736         l.sw            0(r5),r0
     752        l.addi          r5,r5,4
    737753        l.sfeq          r5,r3
    738754        l.bnf           L3_1
    739         l.addi          r5,r5,4
     755        l.sw            -4(r5),r0
    740756
    741757L3_2:
  • c/src/lib/libbsp/or32/orp/startup/linkcmds

    r7a47bb5 r8cfdb56  
    1515MEMORY
    1616        {
    17         ram : org = 0x0, l = 1M
     17            flash : org = 0x00000000, l = 2M
     18            ram   : org = 0x10000000, l = 32M
    1819        }
    1920
    2021SECTIONS
    2122{
    22         .text 0x0 :
    23         {
     23    .text : AT (0x0) {
    2424        text_start = . ;
    2525        _text_start = . ;
    26         *(.text)
     26       
     27        *(.text)
    2728        . = ALIGN (16);
    28 
     29       
    2930        *(.eh_fram)
    3031        . = ALIGN (16);
    31 
     32       
    3233        /*
    3334         * C++ constructors
     
    4445        __DTOR_END__ = .;
    4546        _etext = ALIGN( 0x10 ) ;
    46         }
    47         .data ADDR( .text ) + SIZEOF( .text ):
    48         {
     47        . = ALIGN( 0x10) ;
     48    } > flash
     49   
     50    .data : AT ( ADDR(.text) + SIZEOF(.text) ) {
    4951        data_start = . ;
    5052        _data_start = . ;
    51         *(.data)
    52         _edata = ALIGN( 0x10 ) ;
    53         }
    54         .bss ADDR( .data ) + SIZEOF( .data ):
    55         {
    56         bss_start = . ;
    57         _bss_start = . ;
     53       
     54        *(.data)
     55       
     56        _edata = ALIGN( 0x10 );
     57        . = ALIGN (0x10);
     58    } > ram
     59   
     60    .bss : AT ( ADDR(.text) + SIZEOF(.text) + SIZEOF(.data) ) {
     61        bss_start = .;
     62        _bss_start = .;
     63       
    5864        *(.bss)
    5965        *(COMMON)
    60         end = . ;
    61         __end = . ;
    62         }
     66       
     67        end = ALIGN( 0x10 );
     68        __end = ALIGN( 0x10 );
     69        . = ALIGN (0x10);
     70    } > ram
     71   
    6372}
Note: See TracChangeset for help on using the changeset viewer.