summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/gen68302
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-01-13 15:07:03 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-01-13 15:07:03 +0000
commit9b2c9693692991016e1674856fa147b65156a718 (patch)
tree55e30d6264f3f1231f05e61173787220cc56835d /c/src/lib/libbsp/m68k/gen68302
parentNew patch from Eric Norum plus some minor mods by Joel. (diff)
downloadrtems-9b2c9693692991016e1674856fa147b65156a718.tar.bz2
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.
Diffstat (limited to 'c/src/lib/libbsp/m68k/gen68302')
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/start/start.S16
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c4
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/startup/linkcmds3
3 files changed, 9 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68302/start/start.S b/c/src/lib/libbsp/m68k/gen68302/start/start.S
index a3dd257fe7..98947985f4 100644
--- a/c/src/lib/libbsp/m68k/gen68302/start/start.S
+++ b/c/src/lib/libbsp/m68k/gen68302/start/start.S
@@ -197,22 +197,18 @@ cpy_Bad1: move.l d1,(a0)+
| zero out uninitialized data area
|
zerobss:
- moveal # SYM (_end),a0 | find end of .bss
- moveal # SYM (_bss_start),a1 | find beginning of .bss
+ moveal # SYM (_clear_end),a0 | find end of .bss
+ moveal # SYM (_clear_start),a1 | find beginning of .bss
moveq #0,d0
loop: movel d0,a1@+ | to zero out uninitialized
cmpal a0,a1
- jlt loop | loop until _end reached
+ jlt loop | loop until _clear_end reached
- movel # SYM (_end),d0 | d0 = end of bss/start of heap
- addl # SYM (heap_size),d0 | d0 = end of heap
- movel d0, SYM (stack_start) | Save for brk() routine
- addl # SYM (stack_size),d0 | make room for stack
- andl #0xffffffc0,d0 | align it on 16 byte boundary
+ movel d0, SYM (_stack_init) | Set Stack pointer
movw #0x3700,sr | SUPV MODE,INTERRUPTS OFF!!!
- movel d0,a7 | set master stack pointer
- movel d0,a6 | set base pointer
+ movel d0,a7 | set master stack pointer
+ movel d0,a6 | set base pointer
/*
* RTEMS should maintain a separate interrupt stack on CPUs
diff --git a/c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c b/c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c
index ae5f6774df..ac7666d1bd 100644
--- a/c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c
@@ -56,10 +56,10 @@ void bsp_libc_init( void *, unsigned32, int );
void bsp_pretasking_hook(void)
{
- extern int _end;
+ extern int end;
rtems_unsigned32 heap_start;
- heap_start = (rtems_unsigned32) &_end;
+ heap_start = (rtems_unsigned32) &end;
if (heap_start & (CPU_ALIGNMENT-1))
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
diff --git a/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
index 8937b8640d..2fd0352112 100644
--- a/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
@@ -114,7 +114,6 @@ SECTIONS
PROVIDE (_copy_end = .);
} >ram
.bss : {
- PROVIDE (_bss_start = .);
PROVIDE (_clear_start = .);
*(.bss)
*(COMMON)
@@ -129,7 +128,7 @@ SECTIONS
. += HeapSize;
PROVIDE (_HeapEnd = .);
- clear_end = .;
+ PROVIDE (_clear_end = .);
PROVIDE (_WorkspaceBase = .);
} >ram