[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