summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-01-27 15:10:39 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-02-12 09:31:27 +0100
commit7571a235c56ef3fb48456054e0ba63dbb493a6ac (patch)
treecf7e91ab8519b9ad04ab572fc880ef5ce68a8523
parentscore: Add and use rtems_assert_context (diff)
downloadrtems-7571a235c56ef3fb48456054e0ba63dbb493a6ac.tar.bz2
sapi: PR1911: Add CONFIGURE_DISABLE_BSP_SETTINGS
-rw-r--r--cpukit/libmisc/dummy/dummy.c2
-rw-r--r--cpukit/sapi/include/confdefs.h14
-rw-r--r--doc/user/conf.t63
3 files changed, 79 insertions, 0 deletions
diff --git a/cpukit/libmisc/dummy/dummy.c b/cpukit/libmisc/dummy/dummy.c
index 6b824fca1c..9b2f2d0a1e 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 a5b7b7a4fe..cc55e92722 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 fb0c45c138..48cc63f228 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.
+@subsection BSP Specific Settings
+
+This section describes BSP specific configuration settings used by
+@code{<rtems/confdefs.h>}. The BSP specific configuration settings are defined
+in @code{<bsp.h>}.
+
+@itemize @bullet
+
+@findex BSP_DEFAULT_UNIFIED_WORK_AREAS
+@item If @code{BSP_DEFAULT_UNIFIED_WORK_AREAS} is defined by the BSP and
+@code{CONFIGURE_UNIFIED_WORK_AREAS} is not defined by the application, then
+unified work areas will be used.
+
+@findex BSP_IDLE_TASK_BODY
+@item If @code{BSP_IDLE_TASK_BODY} is defined by the BSP and
+@code{CONFIGURE_IDLE_TASK_BODY} is not defined by the application, then
+this BSP specific idle task body will be used.
+
+@findex BSP_IDLE_TASK_STACK_SIZE
+@item If @code{BSP_IDLE_TASK_STACK_SIZE} is defined by the BSP and
+@code{CONFIGURE_IDLE_TASK_STACK_SIZE} is not defined by the application, then
+this BSP specific idle task stack size will be used.
+
+@findex BSP_INITIAL_EXTENSION
+@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.
+
+@findex BSP_INTERRUPT_STACK_SIZE
+@item If @code{BSP_INTERRUPT_STACK_SIZE} is defined by the BSP and
+@code{CONFIGURE_INTERRUPT_STACK_SIZE} is not defined by the application, then
+this BSP specific interrupt stack size will be used.
+
+@findex BSP_MAXIMUM_DEVICES
+@item If @code{BSP_MAXIMUM_DEVICES} is defined by the BSP and
+@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
+@code{CONFIGURE_MAXIMUM_DRIVERS} option.
+
+@findex BSP_ZERO_WORKSPACE_AUTOMATICALLY
+@item If @code{BSP_ZERO_WORKSPACE_AUTOMATICALLY} is defined by the BSP and
+@code{CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY} is not defined by the
+application, then the workspace will be zeroed automatically.
+
+@findex CONFIGURE_BSP_PREREQUISITE_DRIVERS
+@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.
+
+@findex CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+@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.
+
+@end itemize
+
+All BSP specific configuration settings can be disabled by the application with
+the @code{CONFIGURE_DISABLE_BSP_SETTINGS} option.
+
@c
@c
@c