summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/confdefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/rtems/confdefs.h')
-rw-r--r--cpukit/include/rtems/confdefs.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 45e70313fb..89b47050d6 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -2123,6 +2123,10 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
defined(CONFIGURE_STACK_CHECKER_ENABLED) || \
(defined(RTEMS_NEWLIB) && !defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY))
static const rtems_extensions_table Configuration_Initial_Extensions[] = {
+ #if CONFIGURE_RECORD_PER_PROCESSOR_ITEMS > 0 && \
+ defined(CONFIGURE_RECORD_EXTENSIONS_ENABLED)
+ RECORD_EXTENSION,
+ #endif
#if !defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY)
RTEMS_NEWLIB_EXTENSION,
#endif
@@ -2965,6 +2969,33 @@ struct _reent *__getreent(void)
_CONFIGURE_MAXIMUM_PROCESSORS,
#endif
};
+
+ #if CONFIGURE_RECORD_PER_PROCESSOR_ITEMS > 0
+ #include <rtems/record.h>
+
+ #if (CONFIGURE_RECORD_PER_PROCESSOR_ITEMS & (CONFIGURE_RECORD_PER_PROCESSOR_ITEMS - 1)) != 0
+ #error "CONFIGURE_RECORD_PER_PROCESSOR_ITEMS must be a power of two"
+ #endif
+
+ #if CONFIGURE_RECORD_PER_PROCESSOR_ITEMS < 16
+ #error "CONFIGURE_RECORD_PER_PROCESSOR_ITEMS must be at least 16"
+ #endif
+
+ const unsigned int _Record_Item_count = CONFIGURE_RECORD_PER_PROCESSOR_ITEMS;
+
+ struct Record_Configured_control {
+ Record_Control Control;
+ rtems_record_item Items[ CONFIGURE_RECORD_PER_PROCESSOR_ITEMS ];
+ };
+
+ PER_CPU_DATA_ITEM( Record_Configured_control, _Record_Per_CPU );
+
+ RTEMS_SYSINIT_ITEM(
+ _Record_Initialize,
+ RTEMS_SYSINIT_RECORD,
+ RTEMS_SYSINIT_ORDER_MIDDLE
+ );
+ #endif
#endif
#if defined(RTEMS_SMP)