Index: c/src/lib/libbsp/powerpc/beatnik/irq/irq_test_app.c
===================================================================
--- c/src/lib/libbsp/powerpc/beatnik/irq/irq_test_app.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ c/src/lib/libbsp/powerpc/beatnik/irq/irq_test_app.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -37,5 +37,4 @@
 #define CONFIGURE_MAXIMUM_TASKS            1
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
 #include <confdefs.h>
 
Index: cpukit/libfs/Makefile.am
===================================================================
--- cpukit/libfs/Makefile.am	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ cpukit/libfs/Makefile.am	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -42,5 +42,5 @@
 
 libimfs_a_SOURCES += src/imfs/deviceio.c \
-    src/imfs/fifoimfs_init.c src/imfs/imfs_chown.c src/imfs/imfs_config.c \
+    src/imfs/imfs_chown.c src/imfs/imfs_config.c \
     src/imfs/imfs_creat.c src/imfs/imfs_directory.c \
     src/imfs/imfs_eval.c src/imfs/imfs_fchmod.c \
@@ -57,5 +57,5 @@
     src/imfs/imfs_stat.c src/imfs/imfs_stat_file.c src/imfs/imfs_symlink.c \
     src/imfs/imfs_unmount.c src/imfs/imfs_utime.c src/imfs/ioman.c \
-    src/imfs/imfs_memfile.c src/imfs/miniimfs_init.c src/imfs/imfs.h
+    src/imfs/imfs_memfile.c src/imfs/imfs.h
 
 # POSIX FIFO/pipe
Index: ukit/libfs/src/imfs/fifoimfs_init.c
===================================================================
--- cpukit/libfs/src/imfs/fifoimfs_init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ 	(revision )
@@ -1,78 +1,0 @@
-/**
- * @file
- *
- * @ingroup LibFSIMFS
- *
- * @brief IMFS without fifo support initialization.
- */
-
-/*
- * Copyright (c) 2010
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * 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.
- */
-
-#if HAVE_CONFIG_H
-  #include "config.h"
-#endif
-
-#include "imfs.h"
-
-#include <stdlib.h>
-
-#include <rtems/seterr.h>
-
-const rtems_filesystem_operations_table fifoIMFS_ops = {
-  .lock_h = rtems_filesystem_default_lock,
-  .unlock_h = rtems_filesystem_default_unlock,
-  .eval_path_h = IMFS_eval_path,
-  .link_h = IMFS_link,
-  .are_nodes_equal_h = rtems_filesystem_default_are_nodes_equal,
-  .mknod_h = IMFS_mknod,
-  .rmnod_h = IMFS_rmnod,
-  .fchmod_h = IMFS_fchmod,
-  .chown_h = IMFS_chown,
-  .clonenod_h = IMFS_node_clone,
-  .freenod_h = IMFS_node_free,
-  .mount_h = IMFS_mount,
-  .unmount_h = IMFS_unmount,
-  .fsunmount_me_h = IMFS_fsunmount,
-  .utime_h = IMFS_utime,
-  .symlink_h = IMFS_symlink,
-  .readlink_h = IMFS_readlink,
-  .rename_h = IMFS_rename,
-  .statvfs_h = rtems_filesystem_default_statvfs
-};
-
-static const IMFS_mknod_controls IMFS_fifo_mknod_controls = {
-  .directory = &IMFS_mknod_control_directory,
-  .device = &IMFS_mknod_control_device,
-  .file = &IMFS_mknod_control_memfile,
-  .fifo = &IMFS_mknod_control_fifo
-};
-
-int fifoIMFS_initialize(
-  rtems_filesystem_mount_table_entry_t *mt_entry,
-  const void *data
-)
-{
-  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );
-  IMFS_mount_data mount_data = {
-    .fs_info = fs_info,
-    .ops = &fifoIMFS_ops,
-    .mknod_controls = &IMFS_fifo_mknod_controls
-  };
-
-  if ( fs_info == NULL ) {
-    rtems_set_errno_and_return_minus_one( ENOMEM );
-  }
-
-  return IMFS_initialize_support( mt_entry, &mount_data );
-}
Index: cpukit/libfs/src/imfs/imfs.h
===================================================================
--- cpukit/libfs/src/imfs/imfs.h	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ cpukit/libfs/src/imfs/imfs.h	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -392,8 +392,4 @@
 extern const IMFS_mknod_control IMFS_mknod_control_enosys;
 
-extern const rtems_filesystem_operations_table miniIMFS_ops;
-extern const rtems_filesystem_operations_table IMFS_ops;
-extern const rtems_filesystem_operations_table fifoIMFS_ops;
-
 extern const rtems_filesystem_limits_and_options_t  IMFS_LIMITS_AND_OPTIONS;
 
@@ -403,14 +399,4 @@
 
 extern int IMFS_initialize(
-   rtems_filesystem_mount_table_entry_t *mt_entry,
-   const void                           *data
-);
-
-extern int fifoIMFS_initialize(
-  rtems_filesystem_mount_table_entry_t  *mt_entry,
-  const void                            *data
-);
-
-extern int miniIMFS_initialize(
    rtems_filesystem_mount_table_entry_t *mt_entry,
    const void                           *data
@@ -587,7 +573,10 @@
 );
 
-extern bool IMFS_is_imfs_instance(
+static inline bool IMFS_is_imfs_instance(
   const rtems_filesystem_location_info_t *loc
-);
+)
+{
+  return loc->mt_entry->ops->clonenod_h == IMFS_node_clone;
+}
 
 /** @} */
Index: cpukit/libfs/src/imfs/imfs_init.c
===================================================================
--- cpukit/libfs/src/imfs/imfs_init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ cpukit/libfs/src/imfs/imfs_init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -26,5 +26,5 @@
 #include <rtems/seterr.h>
 
-const rtems_filesystem_operations_table IMFS_ops = {
+static const rtems_filesystem_operations_table IMFS_ops = {
   .lock_h = rtems_filesystem_default_lock,
   .unlock_h = rtems_filesystem_default_unlock,
Index: cpukit/libfs/src/imfs/imfs_load_tar.c
===================================================================
--- cpukit/libfs/src/imfs/imfs_load_tar.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ cpukit/libfs/src/imfs/imfs_load_tar.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -59,8 +59,5 @@
    );
 
-   if (
-     rootloc.mt_entry->ops != &IMFS_ops
-       && rootloc.mt_entry->ops != &fifoIMFS_ops
-   ) {
+   if ( !IMFS_is_imfs_instance( &rootloc ) ) {
      rv = -1;
    }
Index: cpukit/libfs/src/imfs/imfs_make_generic_node.c
===================================================================
--- cpukit/libfs/src/imfs/imfs_make_generic_node.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ cpukit/libfs/src/imfs/imfs_make_generic_node.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -38,14 +38,4 @@
 
   return node;
-}
-
-bool IMFS_is_imfs_instance(
-  const rtems_filesystem_location_info_t *loc
-)
-{
-  const char *type = loc->mt_entry->type;
-
-  return strcmp(type, RTEMS_FILESYSTEM_TYPE_IMFS) == 0
-    || strcmp(type, RTEMS_FILESYSTEM_TYPE_MINIIMFS) == 0;
 }
 
Index: ukit/libfs/src/imfs/miniimfs_init.c
===================================================================
--- cpukit/libfs/src/imfs/miniimfs_init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ 	(revision )
@@ -1,74 +1,0 @@
-/**
- * @file
- *
- * @ingroup LibFSIMFS
- *
- * @brief Mini-IMFS initialization.
- */
-
-/*
- *  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.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-  #include "config.h"
-#endif
-
-#include "imfs.h"
-
-#include <stdlib.h>
-
-#include <rtems/seterr.h>
-
-const rtems_filesystem_operations_table miniIMFS_ops = {
-  .lock_h = rtems_filesystem_default_lock,
-  .unlock_h = rtems_filesystem_default_unlock,
-  .eval_path_h = IMFS_eval_path,
-  .link_h = rtems_filesystem_default_link,
-  .are_nodes_equal_h = rtems_filesystem_default_are_nodes_equal,
-  .mknod_h = IMFS_mknod,
-  .rmnod_h = IMFS_rmnod,
-  .fchmod_h = rtems_filesystem_default_fchmod,
-  .chown_h = rtems_filesystem_default_chown,
-  .clonenod_h = IMFS_node_clone,
-  .freenod_h = IMFS_node_free,
-  .mount_h = IMFS_mount,
-  .unmount_h = rtems_filesystem_default_unmount,
-  .fsunmount_me_h = rtems_filesystem_default_fsunmount,
-  .utime_h = rtems_filesystem_default_utime,
-  .symlink_h = rtems_filesystem_default_symlink,
-  .readlink_h = rtems_filesystem_default_readlink,
-  .rename_h = rtems_filesystem_default_rename,
-  .statvfs_h = rtems_filesystem_default_statvfs
-};
-
-static const IMFS_mknod_controls IMFS_mini_mknod_controls = {
-  .directory = &IMFS_mknod_control_directory,
-  .device = &IMFS_mknod_control_device,
-  .file = &IMFS_mknod_control_memfile,
-  .fifo = &IMFS_mknod_control_enosys
-};
-
-int miniIMFS_initialize(
-  rtems_filesystem_mount_table_entry_t *mt_entry,
-  const void                           *data
-)
-{
-  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );
-  IMFS_mount_data mount_data = {
-    .fs_info = fs_info,
-    .ops = &miniIMFS_ops,
-    .mknod_controls = &IMFS_mini_mknod_controls
-  };
-
-  if ( fs_info == NULL ) {
-    rtems_set_errno_and_return_minus_one( ENOMEM );
-  }
-
-  return IMFS_initialize_support( mt_entry, &mount_data );
-}
Index: cpukit/sapi/include/confdefs.h
===================================================================
--- cpukit/sapi/include/confdefs.h	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ cpukit/sapi/include/confdefs.h	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -126,12 +126,4 @@
 #endif
 
-/*
- *  If the application disables the filesystem, they will not need
- *  a mount table, so do not produce one.
- */
-#ifdef CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
-  #define CONFIGURE_HAS_OWN_MOUNT_TABLE
-#endif
-
 /**
  * This macro defines the number of POSIX file descriptors allocated
@@ -258,5 +250,4 @@
  *
  *   List of available file systems. You can define as many as you like:
- *     CONFIGURE_FILESYSTEM_MINIIMFS - MiniIMFS, use DEVFS now
  *     CONFIGURE_FILESYSTEM_IMFS     - In Memory File System (IMFS)
  *     CONFIGURE_FILESYSTEM_DEVFS    - Device File System (DSVFS)
@@ -272,8 +263,8 @@
  *    - If nothing is defined the base file system is the IMFS.
  *
- *    - If CONFIGURE_APPLICATION_DISABLE_FILESYSTEM is defined all filesystem
- *      are disabled by force and an empty DEVFS is created.
- *
- *    - If CONFIGURE_USE_DEV_AS_BASE_FILESYSTEM is defined all filesystem
+ *    - If CONFIGURE_APPLICATION_DISABLE_FILESYSTEM is defined all filesystems
+ *      are disabled by force.
+ *
+ *    - If CONFIGURE_USE_DEV_AS_BASE_FILESYSTEM is defined all filesystems
  *      are disabled by force and DEVFS is defined.
  */
@@ -286,5 +277,4 @@
    */
   #ifdef CONFIGURE_FILESYSTEM_ALL
-    #define CONFIGURE_FILESYSTEM_MINIIMFS
     #define CONFIGURE_FILESYSTEM_IMFS
     #define CONFIGURE_FILESYSTEM_DEVFS
@@ -302,21 +292,17 @@
    */
   #if defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
-     #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM) || \
-	 defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
-       #error "Filesystem disabled but a base filesystem configured."
+     #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
+       #error "Filesystem disabled and a base filesystem configured."
      #endif
 
-    #if defined(CONFIGURE_FILESYSTEM_MINIIMFS) || \
-        defined(CONFIGURE_FILESYSTEM_IMFS) || \
-        defined(CONFIGURE_FILESYSTEM_DEVFS) || \
-        defined(CONFIGURE_FILESYSTEM_TFTPFS) || \
-        defined(CONFIGURE_FILESYSTEM_FTPFS) || \
-        defined(CONFIGURE_FILESYSTEM_NFS) || \
-        defined(CONFIGURE_FILESYSTEM_DOSFS) || \
-        defined(CONFIGURE_FILESYSTEM_RFS) || \
-        defined(CONFIGURE_FILESYSTEM_JFFS2)
-        #error "Configured filesystems but root filesystem was not IMFS!"
-        #error "Filesystems could be disabled, DEVFS is root, or"
-        #error "  miniIMFS is root!"
+     #if defined(CONFIGURE_FILESYSTEM_IMFS) || \
+       defined(CONFIGURE_FILESYSTEM_DEVFS) || \
+       defined(CONFIGURE_FILESYSTEM_TFTPFS) || \
+       defined(CONFIGURE_FILESYSTEM_FTPFS) || \
+       defined(CONFIGURE_FILESYSTEM_NFS) || \
+       defined(CONFIGURE_FILESYSTEM_DOSFS) || \
+       defined(CONFIGURE_FILESYSTEM_RFS) || \
+       defined(CONFIGURE_FILESYSTEM_JFFS2)
+       #error "Filesystem disabled and a filesystem configured."
      #endif
   #endif
@@ -329,8 +315,4 @@
     #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
       #define CONFIGURE_FILESYSTEM_DEVFS
-    #elif defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
-      #define CONFIGURE_FILESYSTEM_MINIIMFS
-    #elif !defined(CONFIGURE_FILESYSTEM_IMFS)
-      #define CONFIGURE_FILESYSTEM_IMFS
     #endif
   #endif
@@ -356,26 +338,10 @@
 
 /**
- * This defines the miniIMFS file system table entry.
- */
-#if !defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS) && \
-    defined(CONFIGURE_FILESYSTEM_MINIIMFS)
-  #define CONFIGURE_FILESYSTEM_ENTRY_miniIMFS \
-    { RTEMS_FILESYSTEM_TYPE_MINIIMFS, miniIMFS_initialize }
-#endif
-#endif
-
-#ifndef RTEMS_SCHEDSIM
-/**
  * This defines the IMFS file system table entry.
  */
 #if !defined(CONFIGURE_FILESYSTEM_ENTRY_IMFS) && \
-    defined(CONFIGURE_FILESYSTEM_IMFS)
-  #if CONFIGURE_MAXIMUM_FIFOS > 0 || CONFIGURE_MAXIMUM_PIPES > 0
-    #define CONFIGURE_FILESYSTEM_ENTRY_IMFS \
-      { RTEMS_FILESYSTEM_TYPE_IMFS, fifoIMFS_initialize }
-  #else
-    #define CONFIGURE_FILESYSTEM_ENTRY_IMFS \
-      { RTEMS_FILESYSTEM_TYPE_IMFS, IMFS_initialize }
-  #endif
+  defined(CONFIGURE_FILESYSTEM_IMFS)
+  #define CONFIGURE_FILESYSTEM_ENTRY_IMFS \
+    { RTEMS_FILESYSTEM_TYPE_IMFS, IMFS_initialize }
 #endif
 #endif
@@ -507,11 +473,4 @@
   #endif
 
-#ifndef RTEMS_SCHEDSIM
-  #if defined(CONFIGURE_FILESYSTEM_IMFS) || \
-      defined(CONFIGURE_FILESYSTEM_MINIIMFS)
-    int imfs_rq_memfile_bytes_per_block = CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK;
-  #endif
-#endif
-
   /**
    * Table termination record.
@@ -520,13 +479,19 @@
 
 #ifndef RTEMS_SCHEDSIM
+  #if !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM) && \
+    !defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
+    int imfs_rq_memfile_bytes_per_block =
+      CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK;
+  #endif
+
   /**
    * The default file system table. Must be terminated with the NULL entry if
    * you provide your own.
    */
-  #ifndef CONFIGURE_HAS_OWN_FILESYSTEM_TABLE
+  #if !defined(CONFIGURE_HAS_OWN_FILESYSTEM_TABLE) && \
+    !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
     const rtems_filesystem_table_t rtems_filesystem_table[] = {
-      #if defined(CONFIGURE_FILESYSTEM_MINIIMFS) && \
-          defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS)
-        CONFIGURE_FILESYSTEM_ENTRY_miniIMFS,
+      #if !defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
+        { "/", IMFS_initialize_support },
       #endif
       #if defined(CONFIGURE_FILESYSTEM_IMFS) && \
@@ -566,5 +531,6 @@
   #endif
 
-  #ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE
+  #if !defined(CONFIGURE_HAS_OWN_MOUNT_TABLE) && \
+    !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
     #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
       static devFS_node devFS_root_filesystem_nodes [CONFIGURE_MAXIMUM_DEVICES];
@@ -573,5 +539,91 @@
         CONFIGURE_MAXIMUM_DEVICES
       };
-    #endif
+    #else
+      static IMFS_fs_info_t _Configure_IMFS_fs_info;
+
+      static const rtems_filesystem_operations_table _Configure_IMFS_ops = {
+        rtems_filesystem_default_lock,
+        rtems_filesystem_default_unlock,
+        IMFS_eval_path,
+        #ifdef CONFIGURE_IMFS_DISABLE_LINK
+          rtems_filesystem_default_link,
+        #else
+          IMFS_link,
+        #endif
+        rtems_filesystem_default_are_nodes_equal,
+        #ifdef CONFIGURE_IMFS_DISABLE_MKNOD
+          rtems_filesystem_default_mknod,
+        #else
+          IMFS_mknod,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_RMNOD
+          rtems_filesystem_default_rmnod,
+        #else
+          IMFS_rmnod,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_FCHMOD
+          rtems_filesystem_default_fchmod,
+        #else
+          IMFS_fchmod,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_CHOWN
+          rtems_filesystem_default_chown,
+        #else
+          IMFS_chown,
+        #endif
+        IMFS_node_clone,
+        IMFS_node_free,
+        #ifdef CONFIGURE_IMFS_DISABLE_MOUNT
+          rtems_filesystem_default_mount,
+        #else
+          IMFS_mount,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_UNMOUNT
+          rtems_filesystem_default_unmount,
+        #else
+          IMFS_unmount,
+        #endif
+        rtems_filesystem_default_fsunmount,
+        #ifdef CONFIGURE_IMFS_DISABLE_UTIME
+          rtems_filesystem_default_utime,
+        #else
+          IMFS_utime,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_SYMLINK
+          rtems_filesystem_default_symlink,
+        #else
+          IMFS_symlink,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_READLINK
+          rtems_filesystem_default_readlink,
+        #else
+          IMFS_readlink,
+        #endif
+        #ifdef CONFIGURE_IMFS_DISABLE_RENAME
+          rtems_filesystem_default_rename,
+        #else
+          IMFS_rename,
+        #endif
+        rtems_filesystem_default_statvfs
+      };
+
+      static const IMFS_mknod_controls _Configure_IMFS_mknod_controls = {
+        &IMFS_mknod_control_directory,
+        &IMFS_mknod_control_device,
+        &IMFS_mknod_control_memfile,
+        #if CONFIGURE_MAXIMUM_FIFOS > 0 || CONFIGURE_MAXIMUM_PIPES > 0
+          &IMFS_mknod_control_fifo
+        #else
+          &IMFS_mknod_control_enosys
+        #endif
+      };
+
+      static const IMFS_mount_data _Configure_IMFS_mount_data = {
+        &_Configure_IMFS_fs_info,
+        &_Configure_IMFS_ops,
+        &_Configure_IMFS_mknod_controls
+      };
+    #endif
+
     const rtems_filesystem_mount_configuration
       rtems_filesystem_root_configuration = {
@@ -580,8 +632,6 @@
       #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
         RTEMS_FILESYSTEM_TYPE_DEVFS,
-      #elif defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
-        RTEMS_FILESYSTEM_TYPE_MINIIMFS,
       #else
-        RTEMS_FILESYSTEM_TYPE_IMFS,
+        "/",
       #endif
       RTEMS_FILESYSTEM_READ_WRITE,
@@ -589,5 +639,5 @@
         &devFS_root_filesystem_data
       #else
-        NULL
+        &_Configure_IMFS_mount_data
       #endif
     };
Index: doc/user/conf.t
===================================================================
--- doc/user/conf.t	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ doc/user/conf.t	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -2578,38 +2578,4 @@
 
 @c
-@c === CONFIGURE_USE_MINIIMFS_AS_BASE_SYSTEM ===
-@c
-@subsection Configure miniIMFS as Root File System
-
-@findex CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-
-@table @b
-@item CONSTANT:
-@code{CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM}
-
-@item DATA TYPE:
-Boolean feature macro.
-
-@item RANGE:
-Defined or undefined.
-
-@item DEFAULT VALUE:
-This is not defined by default. If no other root file system
-configuration parameters are specified, the IMFS will be used as the
-root file system.
-
-@end table
-
-@subheading DESCRIPTION:
-This configuration parameter is defined if the application wishes to use
-the reduced functionality miniIMFS as the root filesystem. This reduced
-version of the full IMFS does not include the capability to mount other
-file system types, but it does support directories, device nodes, and
-symbolic links.
-
-@subheading NOTES:
-The miniIMFS nodes and is smaller in executable code size than the full IMFS.
-
-@c
 @c === CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM ===
 @c
@@ -2710,4 +2676,290 @@
 @subheading NOTES:
 None.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_CHOWN ===
+@c
+@subsection Disable change owner support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_CHOWN
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_CHOWN}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to change the
+owner is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_FCHMOD ===
+@c
+@subsection Disable change mode support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_FCHMOD
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_FCHMOD}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to change the
+mode is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_UTIME ===
+@c
+@subsection Disable change times support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_UTIME
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_UTIME}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to change times
+is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_LINK ===
+@c
+@subsection Disable create hard link support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_LINK
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_LINK}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to create hard
+links is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_SYMLINK ===
+@c
+@subsection Disable create symbolic link support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_SYMLINK
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_SYMLINK}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to create
+symbolic links is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_READLINK ===
+@c
+@subsection Disable read symbolic link support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_READLINK
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_READLINK}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to read symbolic
+links is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_RENAME ===
+@c
+@subsection Disable rename support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_RENAME
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_RENAME}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to rename nodes
+is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_MOUNT ===
+@c
+@subsection Disable mount support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_MOUNT
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_MOUNT}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to mount other
+file systems is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_UNMOUNT ===
+@c
+@subsection Disable unmount support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_UNMOUNT
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_UNMOUNT}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to unmount file
+systems is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_MKNOD ===
+@c
+@subsection Disable make nodes support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_MKNOD
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_MKNOD}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to make
+directories, devices, regular files and FIFOs is disabled in the root IMFS.
+
+@c
+@c === CONFIGURE_IMFS_DISABLE_RMNOD ===
+@c
+@subsection Disable remove nodes support of root IMFS
+
+@findex CONFIGURE_IMFS_DISABLE_RMNOD
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_DISABLE_RMNOD}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Defined or undefined.
+
+@item DEFAULT VALUE:
+This is not defined by default.
+
+@end table
+
+@subheading DESCRIPTION:
+In case this configuration option is defined, then the support to remove nodes
+is disabled in the root IMFS.
 
 @c
Index: testsuites/fstests/Makefile.am
===================================================================
--- testsuites/fstests/Makefile.am	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/fstests/Makefile.am	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -2,4 +2,6 @@
 
 _SUBDIRS =
+_SUBDIRS += fsimfsconfig02
+_SUBDIRS += fsimfsconfig01
 _SUBDIRS += fsdosfsname01
 _SUBDIRS += fsdosfswrite01
Index: testsuites/fstests/configure.ac
===================================================================
--- testsuites/fstests/configure.ac	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/fstests/configure.ac	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -78,4 +78,6 @@
 # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile
+fsimfsconfig02/Makefile
+fsimfsconfig01/Makefile
 fsdosfsname01/Makefile
 fsdosfswrite01/Makefile
Index: testsuites/fstests/fsimfsconfig01/Makefile.am
===================================================================
--- testsuites/fstests/fsimfsconfig01/Makefile.am	(revision a9df9169882c564af6714bbf121c278092d3c51c)
+++ testsuites/fstests/fsimfsconfig01/Makefile.am	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -0,0 +1,19 @@
+rtems_tests_PROGRAMS = fsimfsconfig01
+fsimfsconfig01_SOURCES = init.c
+
+dist_rtems_tests_DATA = fsimfsconfig01.scn fsimfsconfig01.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+
+LINK_OBJS = $(fsimfsconfig01_OBJECTS)
+LINK_LIBS = $(fsimfsconfig01_LDLIBS)
+
+fsimfsconfig01$(EXEEXT): $(fsimfsconfig01_OBJECTS) $(fsimfsconfig01_DEPENDENCIES)
+	@rm -f fsimfsconfig01$(EXEEXT)
+	$(make-exe)
+
+include $(top_srcdir)/../automake/local.am
Index: testsuites/fstests/fsimfsconfig01/fsimfsconfig01.scn
===================================================================
--- testsuites/fstests/fsimfsconfig01/fsimfsconfig01.scn	(revision a9df9169882c564af6714bbf121c278092d3c51c)
+++ testsuites/fstests/fsimfsconfig01/fsimfsconfig01.scn	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -0,0 +1,2 @@
+*** BEGIN OF TEST FSIMFSCONFIG 1 ***
+*** END OF TEST FSIMFSCONFIG 1 ***
Index: testsuites/fstests/fsimfsconfig01/init.c
===================================================================
--- testsuites/fstests/fsimfsconfig01/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
+++ testsuites/fstests/fsimfsconfig01/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -0,0 +1,139 @@
+/*
+ * Copyright (c) 2015 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Dornierstr. 4
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * 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 "tmacros.h"
+
+#include <sys/stat.h>
+#include <errno.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <utime.h>
+
+#include <rtems/imfs.h>
+#include <rtems/libio.h>
+
+const char rtems_test_name[] = "FSIMFSCONFIG 1";
+
+static const IMFS_node_control node_control = IMFS_GENERIC_INITIALIZER(
+  &rtems_filesystem_handlers_default,
+  IMFS_node_initialize_generic,
+  IMFS_node_destroy_default
+);
+
+static void Init(rtems_task_argument arg)
+{
+  struct utimbuf times;
+  const char *generic = "generic";
+  const char *mnt = "mnt";
+  int rv;
+
+  TEST_BEGIN();
+
+  rv = IMFS_make_generic_node(
+    generic,
+    S_IFCHR | S_IRWXU | S_IRWXG | S_IRWXO,
+    &node_control,
+    NULL
+  );
+  rtems_test_assert(rv == 0);
+
+  errno = 0;
+  rv = chown(generic, 0, 0);
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  errno = 0;
+  rv = chmod(generic, 0);
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  errno = 0;
+  rv = link(generic, "link");
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  rv = mkdir(mnt, S_IRWXU);
+  rtems_test_assert(rv == 0);
+
+  errno = 0;
+  rv = mount(
+    "",
+    mnt,
+    RTEMS_FILESYSTEM_TYPE_IMFS,
+    RTEMS_FILESYSTEM_READ_ONLY,
+    NULL
+  );
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  errno = 0;
+  rv = rename(generic, "new");
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  errno = 0;
+  rv = unlink(generic);
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  errno = 0;
+  rv = symlink(generic, "link");
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  errno = 0;
+  rv = utime(generic, &times);
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  TEST_END();
+  rtems_test_exit(0);
+}
+
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_FILESYSTEM_IMFS
+
+#define CONFIGURE_IMFS_DISABLE_CHOWN
+#define CONFIGURE_IMFS_DISABLE_FCHMOD
+#define CONFIGURE_IMFS_DISABLE_LINK
+
+#if 0
+/*
+ * This would lead to a fatal error since rtems_filesystem_initialize() creates
+ * a "/dev" directory.
+ */
+#define CONFIGURE_IMFS_DISABLE_MKNOD
+#endif
+
+#define CONFIGURE_IMFS_DISABLE_MOUNT
+#define CONFIGURE_IMFS_DISABLE_RENAME
+#define CONFIGURE_IMFS_DISABLE_RMNOD
+#define CONFIGURE_IMFS_DISABLE_SYMLINK
+#define CONFIGURE_IMFS_DISABLE_UTIME
+
+#define CONFIGURE_MAXIMUM_TASKS 1
+
+#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
Index: testsuites/fstests/fsimfsconfig02/Makefile.am
===================================================================
--- testsuites/fstests/fsimfsconfig02/Makefile.am	(revision a9df9169882c564af6714bbf121c278092d3c51c)
+++ testsuites/fstests/fsimfsconfig02/Makefile.am	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -0,0 +1,19 @@
+rtems_tests_PROGRAMS = fsimfsconfig02
+fsimfsconfig02_SOURCES = init.c
+
+dist_rtems_tests_DATA = fsimfsconfig02.scn fsimfsconfig02.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+
+LINK_OBJS = $(fsimfsconfig02_OBJECTS)
+LINK_LIBS = $(fsimfsconfig02_LDLIBS)
+
+fsimfsconfig02$(EXEEXT): $(fsimfsconfig02_OBJECTS) $(fsimfsconfig02_DEPENDENCIES)
+	@rm -f fsimfsconfig02$(EXEEXT)
+	$(make-exe)
+
+include $(top_srcdir)/../automake/local.am
Index: testsuites/fstests/fsimfsconfig02/fsimfsconfig02.scn
===================================================================
--- testsuites/fstests/fsimfsconfig02/fsimfsconfig02.scn	(revision a9df9169882c564af6714bbf121c278092d3c51c)
+++ testsuites/fstests/fsimfsconfig02/fsimfsconfig02.scn	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -0,0 +1,2 @@
+*** BEGIN OF TEST FSIMFSCONFIG 2 ***
+*** END OF TEST FSIMFSCONFIG 2 ***
Index: testsuites/fstests/fsimfsconfig02/init.c
===================================================================
--- testsuites/fstests/fsimfsconfig02/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
+++ testsuites/fstests/fsimfsconfig02/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2015 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Dornierstr. 4
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * 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 "tmacros.h"
+
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+
+#include <rtems/imfs.h>
+#include <rtems/libio.h>
+
+const char rtems_test_name[] = "FSIMFSCONFIG 2";
+
+static void Init(rtems_task_argument arg)
+{
+  const char *mnt = "mnt";
+  const char *link = "link";
+  char buf[1];
+  int rv;
+
+  TEST_BEGIN();
+
+  rv = mkdir(mnt, S_IRWXU);
+  rtems_test_assert(rv == 0);
+
+  rv = mount(
+    "",
+    mnt,
+    RTEMS_FILESYSTEM_TYPE_IMFS,
+    RTEMS_FILESYSTEM_READ_ONLY,
+    NULL
+  );
+  rtems_test_assert(rv == 0);
+
+  errno = 0;
+  rv = unmount(mnt);
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  rv = symlink(mnt, link);
+  rtems_test_assert(rv == 0);
+
+  errno = 0;
+  rv = readlink(link, &buf[0], sizeof(buf));
+  rtems_test_assert(rv == -1);
+  rtems_test_assert(errno == ENOTSUP);
+
+  TEST_END();
+  rtems_test_exit(0);
+}
+
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_FILESYSTEM_IMFS
+
+#define CONFIGURE_IMFS_DISABLE_READLINK
+#define CONFIGURE_IMFS_DISABLE_UNMOUNT
+
+#define CONFIGURE_MAXIMUM_TASKS 1
+
+#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
Index: testsuites/fstests/fsimfsgeneric01/init.c
===================================================================
--- testsuites/fstests/fsimfsgeneric01/init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/fstests/fsimfsgeneric01/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -397,4 +397,11 @@
 };
 
+static const rtems_filesystem_operations_table *imfs_ops;
+
+static int other_clone(rtems_filesystem_location_info_t *loc)
+{
+  return (*imfs_ops->clonenod_h)(loc);
+}
+
 static void test_imfs_make_generic_node_errors(void)
 {
@@ -404,5 +411,5 @@
   rtems_filesystem_mount_table_entry_t *mt_entry =
     (rtems_filesystem_mount_table_entry_t *) rtems_chain_first(chain);
-  const char *type = mt_entry->type;
+  rtems_filesystem_operations_table other_ops;
   void *opaque = NULL;
   rtems_resource_snapshot before;
@@ -422,5 +429,8 @@
 
   errno = 0;
-  mt_entry->type = "XXX";
+  imfs_ops = mt_entry->ops;
+  other_ops = *imfs_ops;
+  other_ops.clonenod_h = other_clone;
+  mt_entry->ops = &other_ops;
   rv = IMFS_make_generic_node(
     path,
@@ -429,5 +439,5 @@
     NULL
   );
-  mt_entry->type = type;
+  mt_entry->ops = imfs_ops;
   rtems_test_assert(rv == -1);
   rtems_test_assert(errno == ENOTSUP);
Index: testsuites/fstests/mimfs_support/fs_support.c
===================================================================
--- testsuites/fstests/mimfs_support/fs_support.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/fstests/mimfs_support/fs_support.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -65,4 +65,6 @@
 #define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS  1
 
+#define CONFIGURE_FILESYSTEM_IMFS
+
 #define CONFIGURE_INIT
 #include <rtems/confdefs.h>
Index: testsuites/libtests/tar03/init.c
===================================================================
--- testsuites/libtests/tar03/init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/libtests/tar03/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -35,11 +35,4 @@
     rtems_test_exit(1);
   }
-
-  puts("Loading tarfs image with miniIMFS as root filesystem - ERROR");
-  sc = rtems_tarfs_load("/",(void *)rtems_task_create, 72);
-  if (sc != -1) {
-    printf ("error: untar failed returned %d\n", sc);
-    rtems_test_exit(1);
-  }
 }
 
@@ -66,6 +59,4 @@
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
-#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-
 #define CONFIGURE_INIT
 #include <rtems/confdefs.h>
Index: testsuites/psxtests/psxfile01/main.c
===================================================================
--- testsuites/psxtests/psxfile01/main.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/psxtests/psxfile01/main.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -36,4 +36,6 @@
 #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 6
 
+#define CONFIGURE_FILESYSTEM_IMFS
+
 #define CONFIGURE_MAXIMUM_TASKS 1
 #define CONFIGURE_INIT_TASK_STACK_SIZE (2 * RTEMS_MINIMUM_STACK_SIZE)
Index: testsuites/psxtests/psximfs02/init.c
===================================================================
--- testsuites/psxtests/psximfs02/init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/psxtests/psximfs02/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -209,4 +209,6 @@
 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 
+#define CONFIGURE_FILESYSTEM_IMFS
+
 #define CONFIGURE_MAXIMUM_TASKS                  1
 #define CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK   15
Index: testsuites/psxtests/psxmount/main.c
===================================================================
--- testsuites/psxtests/psxmount/main.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/psxtests/psxmount/main.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -34,4 +34,6 @@
 #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10
 
+#define CONFIGURE_FILESYSTEM_IMFS
+
 #define CONFIGURE_MAXIMUM_TASKS 1
 
Index: testsuites/psxtests/psxreaddir/main.c
===================================================================
--- testsuites/psxtests/psxreaddir/main.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/psxtests/psxreaddir/main.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -32,4 +32,6 @@
 #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10
 
+#define CONFIGURE_FILESYSTEM_IMFS
+
 #define CONFIGURE_MAXIMUM_TASKS 1
 
Index: testsuites/psxtests/psxstat/main.c
===================================================================
--- testsuites/psxtests/psxstat/main.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/psxtests/psxstat/main.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -36,4 +36,6 @@
 #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10
 
+#define CONFIGURE_FILESYSTEM_IMFS
+
 #define CONFIGURE_MAXIMUM_TASKS 1
 
Index: testsuites/samples/iostream/system.h
===================================================================
--- testsuites/samples/iostream/system.h	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/samples/iostream/system.h	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -32,7 +32,4 @@
 #define CONFIGURE_EXTRA_TASK_STACKS       RTEMS_MINIMUM_STACK_SIZE
 
-/* Only remove when this macro is removed from confdefs.h. It tests it. */
-#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-
 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
 
Index: testsuites/sptests/sp47/init.c
===================================================================
--- testsuites/sptests/sp47/init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/sptests/sp47/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -75,6 +75,4 @@
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
-#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-
 #define CONFIGURE_INIT
 #include <rtems/confdefs.h>
Index: testsuites/sptests/sp48/init.c
===================================================================
--- testsuites/sptests/sp48/init.c	(revision a2f5c7e1a70f88eec73fb15e2fcd2c111b52c0ea)
+++ testsuites/sptests/sp48/init.c	(revision a9df9169882c564af6714bbf121c278092d3c51c)
@@ -103,6 +103,4 @@
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
-#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-
 #define CONFIGURE_INIT
 #include <rtems/confdefs.h>
