Changeset 9b2c969 in rtems


Ignore:
Timestamp:
Jan 13, 2000, 3:07:03 PM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
0724b658
Parents:
c0ebf02
Message:

Made sweep of changes to get all BSPs to the same point on the linkcmds
and memory layout. Next step is to share the same bsp_pretasking_hook.

Location:
c/src/lib/libbsp/m68k
Files:
1 added
21 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/m68k/dmv152/startup/bspstart.c

    rc0ebf02 r9b2c969  
    5858{
    5959    extern void             *_HeapStart;
    60     extern rtems_unsigned32  _HeapSize;
     60    extern rtems_unsigned32  HeapSize;
    6161
    62     bsp_libc_init( &_HeapStart, _HeapSize, 0 );
     62    bsp_libc_init( &_HeapStart, HeapSize, 0 );
    6363 
    6464#ifdef RTEMS_DEBUG
  • c/src/lib/libbsp/m68k/dmv152/startup/linkcmds

    rc0ebf02 r9b2c969  
    112112        } >ram
    113113        .bss : {
    114                 bss_start = .;
    115                 . += (256 * 4);
    116                 clear_start = .;
     114                _clear_start = .;
    117115                *(.bss)
    118116                *(COMMON)
     
    128126                PROVIDE (_HeapEnd = .);
    129127
    130                 clear_end = .;
     128                PROVIDE (_clear_end = .);
    131129
    132130                _WorkspaceBase = .;
  • c/src/lib/libbsp/m68k/efi332/include/bsp.h

    rc0ebf02 r9b2c969  
    7676extern char _copy_start[];
    7777extern char _edata[];
    78 extern char _bss_start[];
     78extern char _clear_start[];
    7979extern char end[];
    8080extern char _copy_data_from_rom[];
  • c/src/lib/libbsp/m68k/efi332/start/start.c

    rc0ebf02 r9b2c969  
    208208   
    209209    /* Zero bss */
    210     for (dst = _bss_start; dst< end; dst++)
     210    for (dst = _clear_start; dst< end; dst++)
    211211      *dst = 0;
    212212  }
  • c/src/lib/libbsp/m68k/efi332/startup/bspstart.c

    rc0ebf02 r9b2c969  
    8686{
    8787  void           *vbr;
     88  extern        unsigned int _WorkspaceBase;
    8889
    8990  /*
     
    9899
    99100  BSP_Configuration.work_space_start = (void *)
     101    (((unsigned int)_WorkspaceBase + STACK_SIZE + 0x100) & 0xffffff00);
     102
     103#if 0
    100104    (((unsigned int)_end + STACK_SIZE + 0x100) & 0xffffff00);
     105#endif
    101106
    102107  /* Clock_exit is done as an atexit() function */
  • c/src/lib/libbsp/m68k/efi332/startup/linkcmds

    rc0ebf02 r9b2c969  
    2121 * +--------------------+
    2222 * | .bss               |
    23  * |        __bss_start | start of bss, cleared by crt0
     23 * |        _clear_start| start of bss, cleared by crt0
    2424 * |        _end        | start of heap, used by sbrk()
    2525 * +--------------------+
     
    136136        } >ram
    137137        .bss : {
    138                 PROVIDE (_bss_start = .);
    139138                PROVIDE (_clear_start = .);
    140139                *(.bss)
     
    151150                PROVIDE (_HeapEnd = .);
    152151
    153                 clear_end = .;
     152                PROVIDE (_clear_end = .);
    154153
    155154                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/efi68k/include/bsp.h

    rc0ebf02 r9b2c969  
    7676extern char _copy_start[];
    7777extern char _edata[];
    78 extern char _bss_start[];
     78extern char _clear_start[];
    7979extern char end[];
    8080extern char _copy_data_from_rom[];
  • c/src/lib/libbsp/m68k/efi68k/start/start.c

    rc0ebf02 r9b2c969  
    5050   
    5151    /* Zero bss */
    52     for (dst = _bss_start; dst< end; dst++)
     52    for (dst = _clear_start; dst< end; dst++)
    5353      *dst = 0;
    5454  }
  • c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c

    rc0ebf02 r9b2c969  
    9191{
    9292  void           *vbr;
     93  extern        unsigned int _WorkspaceBase;
    9394
    9495/*   set_debug_traps();    */
     
    106107
    107108  BSP_Configuration.work_space_start = (void *)
     109    (((unsigned int)_WorkspaceBase + STACK_SIZE + 0x100) & 0xffffff00);
     110
     111#if 0
    108112    (((unsigned int)_end + STACK_SIZE + 0x100) & 0xffffff00);
     113#endif
    109114
    110115  /* Clock_exit is done as an atexit() function */
  • c/src/lib/libbsp/m68k/efi68k/startup/linkcmds

    rc0ebf02 r9b2c969  
    2121 * +--------------------+
    2222 * | .bss               |
    23  * |        __bss_start | start of bss, cleared by crt0
     23 * |        _clear_start| start of bss, cleared by crt0
    2424 * |        _end        | start of heap, used by sbrk()
    2525 * +--------------------+
     
    145145        } >ram
    146146        .bss : {
    147                 PROVIDE (_bss_start = .);
    148147                PROVIDE (_clear_start = .);
    149148                *(.bss)
     
    160159                PROVIDE (_HeapEnd = .);
    161160
    162                 clear_end = .;
     161                PROVIDE (_clear_end = .);
    163162
    164163                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/gen68302/start/start.S

    rc0ebf02 r9b2c969  
    198198        |
    199199zerobss:
    200         moveal  # SYM (_end),a0                | find end of .bss
    201         moveal  # SYM (_bss_start),a1          | find beginning of .bss
     200        moveal  # SYM (_clear_end),a0            | find end of .bss
     201        moveal  # SYM (_clear_start),a1          | find beginning of .bss
    202202        moveq   #0,d0
    203203
    204204loop:   movel   d0,a1@+                | to zero out uninitialized
    205205        cmpal   a0,a1
    206         jlt     loop                    | loop until _end reached
    207 
    208         movel   # SYM (_end),d0               | d0 = end of bss/start of heap
    209         addl    # SYM (heap_size),d0          | d0 = end of heap
    210         movel   d0, SYM (stack_start)  | Save for brk() routine
    211         addl    # SYM (stack_size),d0         | make room for stack
    212         andl    #0xffffffc0,d0         | align it on 16 byte boundary
     206        jlt     loop                    | loop until _clear_end reached
     207
     208        movel   d0, SYM (_stack_init)  | Set Stack pointer
    213209        movw    #0x3700,sr             | SUPV MODE,INTERRUPTS OFF!!!
    214         movel   d0,a7                 | set master stack pointer
    215         movel   d0,a6                 | set base pointer
     210        movel   d0,a7                  | set master stack pointer
     211        movel   d0,a6                  | set base pointer
    216212
    217213      /*
  • c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c

    rc0ebf02 r9b2c969  
    5757void bsp_pretasking_hook(void)
    5858{
    59     extern int _end;
     59    extern int end;
    6060    rtems_unsigned32        heap_start;
    6161
    62     heap_start = (rtems_unsigned32) &_end;
     62    heap_start = (rtems_unsigned32) &end;
    6363    if (heap_start & (CPU_ALIGNMENT-1))
    6464        heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
  • c/src/lib/libbsp/m68k/gen68302/startup/linkcmds

    rc0ebf02 r9b2c969  
    115115        } >ram
    116116        .bss : {
    117                 PROVIDE (_bss_start = .);
    118117                PROVIDE (_clear_start = .);
    119118                *(.bss)
     
    130129                PROVIDE (_HeapEnd = .);
    131130
    132                 clear_end = .;
     131                PROVIDE (_clear_end = .);
    133132
    134133                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/gen68340/startup/linkcmds

    rc0ebf02 r9b2c969  
    173173                PROVIDE (_HeapEnd = .);
    174174
    175                 clear_end = .;
     175                PROVIDE (_clear_end = .);
    176176
    177177                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/idp/startup/linkcmds

    rc0ebf02 r9b2c969  
    127127                PROVIDE (_HeapEnd = .);
    128128
    129                 clear_end = .;
     129                PROVIDE (_clear_end = .);
    130130
    131131                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/mvme136/startup/linkcmds

    rc0ebf02 r9b2c969  
    127127                PROVIDE (_HeapEnd = .);
    128128
    129                 clear_end = .;
     129                PROVIDE (_clear_end = .);
    130130
    131131                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/mvme147/startup/linkcmds

    rc0ebf02 r9b2c969  
    131131                PROVIDE (_HeapEnd = .);
    132132
    133                 clear_end = .;
     133                PROVIDE (_clear_end = .);
    134134
    135135                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds

    rc0ebf02 r9b2c969  
    131131                PROVIDE (_HeapEnd = .);
    132132
    133                 clear_end = .;
     133                PROVIDE (_clear_end = .);
    134134
    135135                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/mvme162/startup/linkcmds

    rc0ebf02 r9b2c969  
    134134                PROVIDE (_HeapEnd = .);
    135135
    136                 clear_end = .;
     136                PROVIDE (_clear_end = .);
    137137
    138138                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/ods68302/startup/linkcmds

    rc0ebf02 r9b2c969  
    129129                PROVIDE (_HeapEnd = .);
    130130
    131                 clear_end = .;
     131                PROVIDE (_clear_end = .);
    132132
    133133                PROVIDE (_WorkspaceBase = .);
  • c/src/lib/libbsp/m68k/shared/start.S

    rc0ebf02 r9b2c969  
    6969        |
    7070zerobss:
    71         moveal  # SYM (end),a0         | find end of .bss
    72         moveal  # SYM (_bss_start),a1   | find beginning of .bss
     71        moveal  # SYM (_clear_end),a0     | find end of .bss
     72        moveal  # SYM (_clear_start),a1   | find beginning of .bss
    7373        movel   #0,d0
    7474
Note: See TracChangeset for help on using the changeset viewer.