[PATCH] sapi: PR1911: Add CONFIGURE_DISABLE_BSP_SETTINGS

Sebastian Huber sebastian.huber at embedded-brains.de
Sun Jan 27 14:10:39 UTC 2013


---
 cpukit/libmisc/dummy/dummy.c   |    2 ++
 cpukit/sapi/include/confdefs.h |   14 +++++++++
 doc/user/conf.t                |   63 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 79 insertions(+)

diff --git a/cpukit/libmisc/dummy/dummy.c b/cpukit/libmisc/dummy/dummy.c
index 6b824fc..9b2f2d0 100644
--- a/cpukit/libmisc/dummy/dummy.c
+++ b/cpukit/libmisc/dummy/dummy.c
@@ -30,6 +30,8 @@ int main( int, char **, char **);
 #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/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h
index a5b7b7a..cc55e92 100644
--- a/cpukit/sapi/include/confdefs.h
+++ b/cpukit/sapi/include/confdefs.h
@@ -47,6 +47,20 @@
 #include <rtems/score/apimutex.h>
 #include <rtems/score/wkspace.h>
 
+#ifdef CONFIGURE_DISABLE_BSP_SETTINGS
+  #undef BSP_DEFAULT_UNIFIED_WORK_AREAS
+  #undef BSP_IDLE_TASK_BODY
+  #undef BSP_IDLE_TASK_STACK_SIZE
+  #undef BSP_INITIAL_EXTENSION
+  #undef BSP_INTERRUPT_STACK_SIZE
+  #undef BSP_MAXIMUM_DEVICES
+  #undef BSP_ZERO_WORKSPACE_AUTOMATICALLY
+  #undef CONFIGURE_BSP_PREREQUISITE_DRIVERS
+  #undef CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+#else
+  #include <bsp.h>
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/doc/user/conf.t b/doc/user/conf.t
index fb0c45c..48cc63f 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -354,6 +354,69 @@ The default value is 0.
 NOTE: The required size of the Executive RAM Work Area is calculated
 automatically when using the @code{rtems/confdefs.h} mechanism.
 
+ at subsection BSP Specific Settings
+
+This section describes BSP specific configuration settings used by
+ at code{<rtems/confdefs.h>}.  The BSP specific configuration settings are defined
+in @code{<bsp.h>}.
+
+ at itemize @bullet
+
+ at findex BSP_DEFAULT_UNIFIED_WORK_AREAS
+ at item If @code{BSP_DEFAULT_UNIFIED_WORK_AREAS} is defined by the BSP and
+ at code{CONFIGURE_UNIFIED_WORK_AREAS} is not defined by the application, then
+unified work areas will be used.
+
+ at findex BSP_IDLE_TASK_BODY
+ at item If @code{BSP_IDLE_TASK_BODY} is defined by the BSP and
+ at code{CONFIGURE_IDLE_TASK_BODY} is not defined by the application, then
+this BSP specific idle task body will be used.
+
+ at findex BSP_IDLE_TASK_STACK_SIZE
+ at item If @code{BSP_IDLE_TASK_STACK_SIZE} is defined by the BSP and
+ at code{CONFIGURE_IDLE_TASK_STACK_SIZE} is not defined by the application, then
+this BSP specific idle task stack size will be used.
+
+ at findex BSP_INITIAL_EXTENSION
+ at item If @code{BSP_INITIAL_EXTENSION} is defined by the BSP, then this BSP
+specific initial extension will be placed as the last entry in the initial
+extension table.
+
+ at findex BSP_INTERRUPT_STACK_SIZE
+ at item If @code{BSP_INTERRUPT_STACK_SIZE} is defined by the BSP and
+ at code{CONFIGURE_INTERRUPT_STACK_SIZE} is not defined by the application, then
+this BSP specific interrupt stack size will be used.
+
+ at findex BSP_MAXIMUM_DEVICES
+ at item If @code{BSP_MAXIMUM_DEVICES} is defined by the BSP and
+ at code{CONFIGURE_MAXIMUM_DEVICES} is not defined by the application, then
+this BSP specific maximum device count will be used.  This option is specific
+to the device file system (devfs) and should not be confused with the
+ at code{CONFIGURE_MAXIMUM_DRIVERS} option.
+
+ at findex BSP_ZERO_WORKSPACE_AUTOMATICALLY
+ at item If @code{BSP_ZERO_WORKSPACE_AUTOMATICALLY} is defined by the BSP and
+ at code{CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY} is not defined by the
+application, then the workspace will be zeroed automatically.
+
+ at findex CONFIGURE_BSP_PREREQUISITE_DRIVERS
+ at item If @code{CONFIGURE_BSP_PREREQUISITE_DRIVERS} is defined by the BSP, then
+these BSP specific drivers will be placed as the first entries in the drivers
+table.  The application specific prerequisite drivers are placed after the BSP
+specific drivers.
+
+ at findex CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+ at item @code{CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK} is defined by the BSP to
+indicate that it does not allocate all available memory to the C Program Heap
+used by the Malloc Family of routines.  If defined, when @code{malloc()} is
+unable to allocate memory, it will call the BSP supplied @code{sbrk()} to
+obtain more memory.
+
+ at end itemize
+
+All BSP specific configuration settings can be disabled by the application with
+the @code{CONFIGURE_DISABLE_BSP_SETTINGS} option.
+
 @c
 @c
 @c
-- 
1.7.10.4




More information about the devel mailing list