diff options
Diffstat (limited to 'cpukit/libmisc/dummy')
-rw-r--r-- | cpukit/libmisc/dummy/README | 23 | ||||
-rw-r--r-- | cpukit/libmisc/dummy/default-configuration.c | 105 | ||||
-rw-r--r-- | cpukit/libmisc/dummy/dummy.c | 38 |
3 files changed, 105 insertions, 61 deletions
diff --git a/cpukit/libmisc/dummy/README b/cpukit/libmisc/dummy/README deleted file mode 100644 index 03bb30834d..0000000000 --- a/cpukit/libmisc/dummy/README +++ /dev/null @@ -1,23 +0,0 @@ -dummy.rel -========= - -A relocatible objects which contains a dummy configuration for RTEMS. - -Helps linking standard c-program code with RTEMS, which shall *not* be run -on a target, such as configure script code fragments generated by autoconf's -AC_TRY_LINK. - -Example: - -tar xzvf somepkg.tar.gz -cd somepkg - -LDFLAGS=/usr/local/rtems/<cpu>-rtems/<bsp>/lib/dummy.rel \ -CC="<cpu>-rtems-gcc \ --B/usr/local/rtems/<cpu>-rtems/<bsp>/lib/ -specs bsp_specs -qrtems" \ -CC_FOR_BUILD="gcc" \ -configure --host=<cpu>-rtems --build=i686-pc-linux-gnu -make - -History: -Starting dummy.c with a copy of rtems-19990528/c/src/tests/samples/minimum/init.c diff --git a/cpukit/libmisc/dummy/default-configuration.c b/cpukit/libmisc/dummy/default-configuration.c new file mode 100644 index 0000000000..ff04a74776 --- /dev/null +++ b/cpukit/libmisc/dummy/default-configuration.c @@ -0,0 +1,105 @@ +/* + * Default configuration file + * + * COPYRIGHT (c) 1989-2008. + * 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.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <stdlib.h> + +#include <rtems.h> + +int main( int argc, char **argv ); + +static void Init( rtems_task_argument arg ) +{ + const char *boot_cmdline = *((const char **) arg); + char *cmdline = NULL; + int argc = 0; + char **argv = NULL; + int result; + + if ( boot_cmdline != NULL ) { + size_t n = strlen( boot_cmdline ) + 1; + + cmdline = malloc( n ); + if ( cmdline != NULL ) { + char* command; + + memcpy( cmdline, boot_cmdline, n); + + command = cmdline; + + /* + * Break the line up into arguments with "" being ignored. + */ + while ( true ) { + command = strtok( command, " \t\r\n" ); + if ( command == NULL ) + break; + + ++argc; + command = '\0'; + } + + /* + * If there are arguments, allocate enough memory for the argv + * array to be passed into main(). + * + * NOTE: If argc is 0, then argv will be NULL. + */ + argv = calloc( argc, sizeof( *argv ) ); + if ( argv != NULL ) { + int a; + + command = cmdline; + argv[ 0 ] = command; + + for ( a = 1; a < argc; ++a ) { + command += strlen( command ) + 1; + argv[ a ] = command; + } + } else { + argc = 0; + } + } + } + + result = main( argc, argv ); + + free( argv ); + free( cmdline ); + + exit( result ); +} + +/* configuration information */ + +/* This is enough to get a basic main() up. */ +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE +#define CONFIGURE_UNIFIED_WORK_AREAS +#define CONFIGURE_UNLIMITED_OBJECTS +#define CONFIGURE_STACK_CHECKER_ENABLED +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM +#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 8 +#define CONFIGURE_MAXIMUM_DRIVERS 16 +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32 + +/* Include basic device drivers needed to call delays */ +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_DISABLE_BSP_SETTINGS + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> + diff --git a/cpukit/libmisc/dummy/dummy.c b/cpukit/libmisc/dummy/dummy.c deleted file mode 100644 index 839a556bac..0000000000 --- a/cpukit/libmisc/dummy/dummy.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Dummy configuration file - * - * COPYRIGHT (c) 1989-2008. - * 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.rtems.org/license/LICENSE. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <rtems.h> - -int main( int, char **, char **); - -/* configuration information */ - -/* This is enough to get a basic main() up. */ -#define CONFIGURE_RTEMS_INIT_TASKS_TABLE -#define CONFIGURE_MAXIMUM_TASKS 10 -#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM -#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 20 -#define CONFIGURE_INIT_TASK_ENTRY_POINT (void *)main - -/* Include basic device drivers needed to call delays */ -#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER - -#define CONFIGURE_DISABLE_BSP_SETTINGS - -#define CONFIGURE_INIT - -#include <rtems/confdefs.h> - |