summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/efi68k/startup
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/m68k/efi68k/startup')
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am7
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c8
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/linkcmds5
3 files changed, 13 insertions, 7 deletions
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am
index 8b73605c33..32a2ab505a 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am
@@ -1,6 +1,6 @@
-##
+##
## $Id$
-##
+##
AUTOMAKE_OPTIONS = foreign 1.4
@@ -22,6 +22,9 @@ include $(top_srcdir)/../../../../../../automake/lib.am
# (OPTIONAL) Add local stuff here using +=
#
+# USE_INIT_FINI tells main.c what C++ help we need.
+AM_CPPFLAGS += -DUSE_INIT_FINI
+
$(PGM): $(OBJS)
$(make-rel)
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
index 180f3db116..69f57565c1 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
@@ -53,8 +53,12 @@ void bsp_pretasking_hook(void); /* m68k version */
void bsp_start( void )
{
- void *vbr;
- extern void *_WorkspaceBase;
+ void *vbr;
+ extern void *_WorkspaceBase;
+ extern void *_RamSize;
+ extern unsigned long _M68k_Ramsize;
+
+ _M68k_Ramsize = (unsigned long)&_RamSize; /* RAM size set in linker script */
/* set_debug_traps(); */
/* breakpoint(); */
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds b/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds
index c174c3f4c8..4830c948d7 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds
@@ -42,9 +42,6 @@ MEMORY
ram : ORIGIN = 0x203000, LENGTH = 256K
}
-_RamBase = 0x200000;
-_RamSize = 256K;
-
_VBR = 0x200000; /* location of the VBR table (in RAM) */
__end_of_ram = 0x240000;
_copy_data_from_rom = 0;
@@ -52,6 +49,8 @@ _copy_data_from_rom = 0;
/*
* Declare some sizes.
*/
+_RamBase = DEFINED(_RamBase) ? _RamBase : 0x200000;
+_RamSize = DEFINED(_RamSize) ? _RamSize : 256K;
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;