summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/dummy
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/dummy')
-rw-r--r--cpukit/libmisc/dummy/README23
-rw-r--r--cpukit/libmisc/dummy/default-configuration.c105
-rw-r--r--cpukit/libmisc/dummy/dummy.c38
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>
-