From 7571a235c56ef3fb48456054e0ba63dbb493a6ac Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 27 Jan 2013 15:10:39 +0100 Subject: sapi: PR1911: Add CONFIGURE_DISABLE_BSP_SETTINGS --- 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 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 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 #include +#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 +#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{}. The BSP specific configuration settings are defined +in @code{}. + +@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 -- cgit v1.2.3