summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-03-28 19:32:16 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-03-28 19:32:16 +0000
commit96e6a86cd3434c56d09dcdf0178263ae0bda20d1 (patch)
tree3950a011549ce9d8730b8d9696f5f08764e7caad /c
parent0a32a213dedac9d4b060f85dbe36b158360d19c0 (diff)
downloadrtems-96e6a86cd3434c56d09dcdf0178263ae0bda20d1.tar.bz2
2001-03-28 Joel Sherrill <joel@OARcorp.com>
* PR132 requested some tinkering ot lower memory. * include/confdefs.h: Lowered footprint of device driver table and statically configure user extensions. Now if no static extensions are configured, then the table is not instantiated.
Diffstat (limited to 'c')
-rw-r--r--c/src/exec/sapi/ChangeLog7
-rw-r--r--c/src/exec/sapi/include/confdefs.h28
2 files changed, 29 insertions, 6 deletions
diff --git a/c/src/exec/sapi/ChangeLog b/c/src/exec/sapi/ChangeLog
index 3bc0d3051a..f201bb52fc 100644
--- a/c/src/exec/sapi/ChangeLog
+++ b/c/src/exec/sapi/ChangeLog
@@ -1,3 +1,10 @@
+2001-03-28 Joel Sherrill <joel@OARcorp.com>
+
+ * PR132 requested some tinkering ot lower memory.
+ * include/confdefs.h: Lowered footprint of device driver table
+ and statically configure user extensions. Now if no static
+ extensions are configured, then the table is not instantiated.
+
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Remove AUTOMAKE_OPTIONS.
diff --git a/c/src/exec/sapi/include/confdefs.h b/c/src/exec/sapi/include/confdefs.h
index 75e6a23a19..52d23e8e6d 100644
--- a/c/src/exec/sapi/include/confdefs.h
+++ b/c/src/exec/sapi/include/confdefs.h
@@ -293,7 +293,14 @@ rtems_driver_address_table Device_drivers[] = {
#ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
DEVNULL_DRIVER_TABLE_ENTRY,
#endif
+#ifdef CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
NULL_DRIVER_TABLE_ENTRY
+#elif !defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) && \
+ !defined(CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER) && \
+ !defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) && \
+ !defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER)
+ NULL_DRIVER_TABLE_ENTRY
+#endif
};
#endif
@@ -304,8 +311,11 @@ rtems_driver_address_table Device_drivers[] = {
* overridden by the user.
*/
+#define CONFIGURE_NUMBER_OF_DRIVERS \
+ ((sizeof(Device_drivers) / sizeof(rtems_driver_address_table)))
+
#ifndef CONFIGURE_MAXIMUM_DRIVERS
-#define CONFIGURE_MAXIMUM_DRIVERS 10
+#define CONFIGURE_MAXIMUM_DRIVERS CONFIGURE_NUMBER_OF_DRIVERS
#endif
/*
@@ -430,6 +440,8 @@ rtems_multiprocessing_table Multiprocessing_configuration = {
#include <rtems/stackchk.h>
#endif
+#if defined(CONFIGURE_INITIAL_EXTENSIONS) || \
+ defined(STACK_CHECKER_ON)
rtems_extensions_table Configuration_Initial_Extensions[] = {
#ifdef CONFIGURE_INITIAL_EXTENSIONS
CONFIGURE_INITIAL_EXTENSIONS,
@@ -437,12 +449,17 @@ rtems_extensions_table Configuration_Initial_Extensions[] = {
#ifdef STACK_CHECKER_ON
STACK_CHECKER_EXTENSION,
#endif
- { NULL, NULL, NULL, NULL, NULL, NULL, NULL }
};
+#define CONFIGURE_INITIAL_EXTENSION_TABLE Configuration_Initial_Extensions
#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \
((sizeof(Configuration_Initial_Extensions) / \
- sizeof(rtems_extensions_table)) - 1)
+ sizeof(rtems_extensions_table)))
+#else
+#define CONFIGURE_INITIAL_EXTENSION_TABLE NULL
+#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS 0
+#endif
+
#endif
@@ -1003,11 +1020,10 @@ rtems_configuration_table Configuration = {
CONFIGURE_TICKS_PER_TIMESLICE,
CONFIGURE_MAXIMUM_DEVICES,
CONFIGURE_MAXIMUM_DRIVERS,
- sizeof (Device_drivers)/
- sizeof(rtems_driver_address_table), /* number of device drivers */
+ CONFIGURE_NUMBER_OF_DRIVERS, /* number of device drivers */
Device_drivers, /* pointer to driver table */
CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS, /* number of initial extensions */
- Configuration_Initial_Extensions, /* pointer to initial extensions */
+ CONFIGURE_INITIAL_EXTENSION_TABLE, /* pointer to initial extensions */
CONFIGURE_MULTIPROCESSING_TABLE, /* pointer to MP config table */
&Configuration_RTEMS_API, /* pointer to RTEMS API config */
#ifdef RTEMS_POSIX_API