summaryrefslogtreecommitdiff
path: root/cesar/ecos
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/ecos')
-rw-r--r--cesar/ecos/packages/hal/sparc/arch/current/src/callcons.S3
-rw-r--r--cesar/ecos/packages/hal/sparc/arch/current/src/hal_boot.c9
2 files changed, 12 insertions, 0 deletions
diff --git a/cesar/ecos/packages/hal/sparc/arch/current/src/callcons.S b/cesar/ecos/packages/hal/sparc/arch/current/src/callcons.S
index 96985a0a1a..02fee3032f 100644
--- a/cesar/ecos/packages/hal/sparc/arch/current/src/callcons.S
+++ b/cesar/ecos/packages/hal/sparc/arch/current/src/callcons.S
@@ -67,6 +67,7 @@ save_o7: !avoid .bss (clear)
.extern hal_zero_bss
.extern cyg_hal_invoke_constructors
.extern hal_board_poststart
+ .extern hal_copy_boot_params
.extern hal_copy_data
cyg_hal_start:
@@ -87,6 +88,8 @@ cyg_hal_start:
call hal_init_localram
nop
#endif
+ call hal_copy_boot_params
+ nop
call hal_zero_bss
nop
call cyg_hal_invoke_constructors
diff --git a/cesar/ecos/packages/hal/sparc/arch/current/src/hal_boot.c b/cesar/ecos/packages/hal/sparc/arch/current/src/hal_boot.c
index 11812e1e43..7f1d261999 100644
--- a/cesar/ecos/packages/hal/sparc/arch/current/src/hal_boot.c
+++ b/cesar/ecos/packages/hal/sparc/arch/current/src/hal_boot.c
@@ -52,6 +52,10 @@
#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.h>
+#include CYGHWR_MEMORY_LAYOUT_H
+
+#include "hal/boot_params/boot_params_copy.h"
+
/*------------------------------------------------------------------------*/
/* calling this is our raison d'etre: */
extern void cyg_start( void );
@@ -75,6 +79,11 @@ void hal_copy_data(void)
}
#endif
+void hal_copy_boot_params(void)
+{
+ boot_params_copy((char *) & CYGMEM_LABEL_bin_eof);
+}
+
//note: when compiling with -mflat (CYGHWR_HAL_SPARC_FLAT) this routine
//has to be a leaf routine, otherwise it will clear it's own stack.
void hal_zero_bss(void)