summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-01 20:01:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-01 20:01:14 +0000
commitb812f841553be30baab45f08b3f6fda692b5166b (patch)
treeb3dc6aeca3a4ced907f1c0262f9a714b44d3baab /c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c
parentLook at both hardware and software FP settings. (diff)
downloadrtems-b812f841553be30baab45f08b3f6fda692b5166b.tar.bz2
Added sim68000 BSP for the BSVC simulator. This BSP includes the
alias simcpu32 that supports the CPU32 simulator in BSVC. At this point, it is still under development.
Diffstat (limited to 'c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c')
-rw-r--r--c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c b/c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c
new file mode 100644
index 0000000000..60c417496c
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c
@@ -0,0 +1,85 @@
+/*
+ * This routine starts the application. It includes application,
+ * board, and monitor specific initialization and configuration.
+ * The generic CPU dependent initialization has been performed
+ * before this routine is invoked.
+ *
+ * COPYRIGHT (c) 1989-1999.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <bsp.h>
+#include <rtems/libio.h>
+
+#include <libcsupport.h>
+
+#include <string.h>
+
+/*
+ * The original table from the application and our copy of it with
+ * some changes.
+ */
+
+extern rtems_configuration_table Configuration;
+
+rtems_configuration_table BSP_Configuration;
+
+rtems_cpu_table Cpu_table;
+
+char *rtems_progname;
+
+/*
+ * Use the shared implementations of the following routines
+ */
+
+void bsp_postdriver_hook(void);
+void bsp_libc_init( void *, unsigned32, int );
+void bsp_pretasking_hook(void); /* m68k version */
+
+void bsp_predriver_hook(void)
+{
+ void bsp_spurious_initialize();
+ bsp_spurious_initialize();
+}
+/*
+ * bsp_start
+ *
+ * This routine does the bulk of the system initialization.
+ */
+
+void bsp_start( void )
+{
+ unsigned8 dummy;
+ extern void * _WorkspaceBase;
+ extern void *_RamSize;
+ extern unsigned long _M68k_Ramsize;
+
+ _M68k_Ramsize = (unsigned long)&_RamSize; /* RAM size set in linker script */
+
+ /*
+ * Clear interrupt sources.
+ */
+
+ Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
+ Cpu_table.predriver_hook = bsp_predriver_hook;
+ Cpu_table.postdriver_hook = bsp_postdriver_hook;
+
+/* XXX address shutdown
+ if ( BSP_Configuration.work_space_size >(128*1024) )
+ _sys_exit( 1 );
+*/
+
+ BSP_Configuration.work_space_start = (void *) &_WorkspaceBase;
+}
+
+#include <bspIo.h>
+
+int debug_putc( char c ) { write( 2, &c, 1 ); return 0; }
+BSP_output_char_function_type BSP_output_char = debug_putc;
+BSP_polling_getchar_function_type BSP_poll_char = NULL;