summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/efi332
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/efi332
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/efi332')
-rw-r--r--c/src/lib/libbsp/m68k/efi332/include/bsp.h2
-rw-r--r--c/src/lib/libbsp/m68k/efi332/start/start.c2
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/bspstart.c5
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/linkcmds5
4 files changed, 9 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/m68k/efi332/include/bsp.h b/c/src/lib/libbsp/m68k/efi332/include/bsp.h
index 6e5ffea7d7..284d54c27e 100644
--- a/c/src/lib/libbsp/m68k/efi332/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/efi332/include/bsp.h
@@ -75,7 +75,7 @@ extern "C" {
extern char _etext[];
extern char _copy_start[];
extern char _edata[];
-extern char _bss_start[];
+extern char _clear_start[];
extern char end[];
extern char _copy_data_from_rom[];
extern char __end_of_ram[];
diff --git a/c/src/lib/libbsp/m68k/efi332/start/start.c b/c/src/lib/libbsp/m68k/efi332/start/start.c
index fa48e03ae2..4586a4c089 100644
--- a/c/src/lib/libbsp/m68k/efi332/start/start.c
+++ b/c/src/lib/libbsp/m68k/efi332/start/start.c
@@ -207,7 +207,7 @@ void dumby_start() {
*dst++ = *src++;
/* Zero bss */
- for (dst = _bss_start; dst< end; dst++)
+ for (dst = _clear_start; dst< end; dst++)
*dst = 0;
}
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
index 45699ac0cc..23651d0736 100644
--- a/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
@@ -85,6 +85,7 @@ void bsp_pretasking_hook(void)
void bsp_start( void )
{
void *vbr;
+ extern unsigned int _WorkspaceBase;
/*
* we only use a hook to get the C library initialized.
@@ -97,7 +98,11 @@ void bsp_start( void )
Cpu_table.interrupt_vector_table = vbr;
BSP_Configuration.work_space_start = (void *)
+ (((unsigned int)_WorkspaceBase + STACK_SIZE + 0x100) & 0xffffff00);
+
+#if 0
(((unsigned int)_end + STACK_SIZE + 0x100) & 0xffffff00);
+#endif
/* Clock_exit is done as an atexit() function */
}
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
index ead7ebbe3e..85038ff746 100644
--- a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
@@ -20,7 +20,7 @@ __DYNAMIC = 0;
* | _edata |
* +--------------------+
* | .bss |
- * | __bss_start | start of bss, cleared by crt0
+ * | _clear_start| start of bss, cleared by crt0
* | _end | start of heap, used by sbrk()
* +--------------------+
* | heap space |
@@ -135,7 +135,6 @@ SECTIONS
PROVIDE (_copy_end = .);
} >ram
.bss : {
- PROVIDE (_bss_start = .);
PROVIDE (_clear_start = .);
*(.bss)
*(COMMON)
@@ -150,7 +149,7 @@ SECTIONS
. += HeapSize;
PROVIDE (_HeapEnd = .);
- clear_end = .;
+ PROVIDE (_clear_end = .);
PROVIDE (_WorkspaceBase = .);
} >ram