diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-03-21 15:37:18 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-03-21 15:37:18 +0000 |
commit | e2a2ec6016c9bb3f3146c701bbe950af212c097c (patch) | |
tree | 065452e3ecb58b60fb720dcd378e620089d4b407 /c/src/lib/libbsp/i386 | |
parent | Fixed spacing to be consistent with other CPUs. (diff) | |
download | rtems-e2a2ec6016c9bb3f3146c701bbe950af212c097c.tar.bz2 |
Switch to using a shared main() for all of the embedded BSPs
based on the GNU tools. This usually involved correcting the
type of bsp_start(), bsp_cleanup(), adjusting the start code to
call the right start routine (the shared boot_card()), and then
removing code from bsp_start() which was performed in the new
boot_card()/main() path.
Diffstat (limited to 'c/src/lib/libbsp/i386')
-rw-r--r-- | c/src/lib/libbsp/i386/force386/startup/Makefile.in | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/force386/startup/bspstart.c | 16 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/i386ex/startup/Makefile.in | 3 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/i386ex/startup/bspstart.c | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/start/start.s | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/startup/Makefile.in | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/startup/bspstart.c | 15 |
7 files changed, 13 insertions, 44 deletions
diff --git a/c/src/lib/libbsp/i386/force386/startup/Makefile.in b/c/src/lib/libbsp/i386/force386/startup/Makefile.in index 639fcbdc32..4bf71c8ce3 100644 --- a/c/src/lib/libbsp/i386/force386/startup/Makefile.in +++ b/c/src/lib/libbsp/i386/force386/startup/Makefile.in @@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@ PGM=${ARCH}/startup.rel # C source names, if any, go here -- minus the .c -C_PIECES=bspstart sbrk setvec +C_PIECES=bspclean bspstart main sbrk setvec C_FILES=$(C_PIECES:%=%.c) C_O_FILES=$(C_PIECES:%=${ARCH}/%.o) diff --git a/c/src/lib/libbsp/i386/force386/startup/bspstart.c b/c/src/lib/libbsp/i386/force386/startup/bspstart.c index 5158b56122..18e4fc88aa 100644 --- a/c/src/lib/libbsp/i386/force386/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/force386/startup/bspstart.c @@ -139,18 +139,9 @@ bsp_postdriver_hook(void) rtems_fatal_error_occurred( error_code | 'I' << 8 | 'O' ); } -int main( - int argc, - char **argv, - char **environp -) +void bsp_start( void ) { - if ((argc > 0) && argv && argv[0]) - rtems_progname = argv[0]; - else - rtems_progname = "RTEMS"; - /* * FORCE documentation incorrectly states that the bus request * level is initialized to 3. It is actually initialized by @@ -217,9 +208,4 @@ int main( */ rtems_libio_config(&BSP_Configuration, BSP_LIBIO_MAX_FDS); - - rtems_initialize_executive( &BSP_Configuration, &Cpu_table ); - /* does not return */ - /* no cleanup necessary for Force CPU-386 */ - return 0; } diff --git a/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in b/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in index 9f6b78a6d0..8042d83b24 100644 --- a/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in +++ b/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in @@ -11,8 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@ PGM=${ARCH}/startup.rel # C source names, if any, go here -- minus the .c -# C_PIECES=bspstart sbrk setvec except i386-stub -C_PIECES=bspstart sbrk setvec +C_PIECES=bspclean bspstart main sbrk setvec C_FILES=$(C_PIECES:%=%.c) C_O_FILES=$(C_PIECES:%=${ARCH}/%.o) diff --git a/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c b/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c index 2415d8daec..77bba61cf3 100644 --- a/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c @@ -141,11 +141,7 @@ bsp_postdriver_hook(void) } -int main( - int argc, - char **argv, - char **environp -) +void bsp_start( void ) { #ifdef PRINTON @@ -155,11 +151,6 @@ int main( outbyte ('S'); #endif - if ((argc > 0) && argv && argv[0]) - rtems_progname = argv[0]; - else - rtems_progname = "RTEMS"; - /* * we do not use the pretasking_hook. */ @@ -222,8 +213,4 @@ int main( BSP_Configuration.maximum_extensions++; #endif - rtems_initialize_executive( &BSP_Configuration, &Cpu_table ); - /* does not return */ - /* no cleanup necessary for i386ex */ - for (;;); /* was return 0 to go to the debug monitor */ } diff --git a/c/src/lib/libbsp/i386/pc386/start/start.s b/c/src/lib/libbsp/i386/pc386/start/start.s index 3439608fa4..03ded48d45 100644 --- a/c/src/lib/libbsp/i386/pc386/start/start.s +++ b/c/src/lib/libbsp/i386/pc386/start/start.s @@ -66,7 +66,7 @@ BEGIN_CODE PUBLIC (start) # GNU default entry point - EXTERN (main) + EXTERN (boot_card) EXTERN (load_segments) EXTERN (exit) @@ -280,7 +280,7 @@ SYM (no_idt_load): pushl $0 # environp pushl $0 # argv pushl $0 # argc - call SYM (main) + call SYM (boot_card) addl $12, esp /*---------------------------------------------------------------------+ diff --git a/c/src/lib/libbsp/i386/pc386/startup/Makefile.in b/c/src/lib/libbsp/i386/pc386/startup/Makefile.in index 7c775413d5..957411a4fb 100644 --- a/c/src/lib/libbsp/i386/pc386/startup/Makefile.in +++ b/c/src/lib/libbsp/i386/pc386/startup/Makefile.in @@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@ PGM=${ARCH}/startup.rel # C source names, if any, go here -- minus the .c -C_PIECES=bspstart exit irq sbrk +C_PIECES=bspclean bspstart exit irq main sbrk C_FILES=$(C_PIECES:%=%.c) C_O_FILES=$(C_PIECES:%=${ARCH}/%.o) diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c index dd50fd115a..8b670357c1 100644 --- a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c @@ -171,21 +171,16 @@ bsp_postdriver_hook(void) /*-------------------------------------------------------------------------+ -| Function: main -| Description: Called from bsp's startup code ('start.s'). +| Function: bsp_start +| Description: Called before main is invoked. | Global Variables: None. | Arguments: None. | Returns: Nothing. +--------------------------------------------------------------------------*/ -int main(int argc, char **argv, char **environp) +void bsp_start( void ) { /* If we don't have command line arguments set default program name. */ - if ((argc > 0) && argv && argv[0]) - rtems_progname = argv[0]; - else - rtems_progname = "RTEMS"; - Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */ Cpu_table.predriver_hook = NULL; /* use system's */ Cpu_table.postdriver_hook = bsp_postdriver_hook; @@ -226,6 +221,7 @@ int main(int argc, char **argv, char **environp) rtems_libio_config(&BSP_Configuration, BSP_LIBIO_MAX_FDS); +#if 0 rtems_initialize_executive(&BSP_Configuration, &Cpu_table); /* does not return */ @@ -240,4 +236,5 @@ int main(int argc, char **argv, char **environp) /* no cleanup necessary for PC386 */ return 0; -} /* main */ +#endif +} /* bsp_start */ |