diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-08-01 20:01:14 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-08-01 20:01:14 +0000 |
commit | b812f841553be30baab45f08b3f6fda692b5166b (patch) | |
tree | b3dc6aeca3a4ced907f1c0262f9a714b44d3baab /c/src/lib/libbsp/m68k/sim68000/startup/bspstart.c | |
parent | Look at both hardware and software FP settings. (diff) | |
download | rtems-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.c | 85 |
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; |