summaryrefslogtreecommitdiff
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.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 45e70313fb..26becd370b 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -195,6 +195,33 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#warning "CONFIGURE_SMP_APPLICATION is obsolete since RTEMS 5.1"
#endif
+#if defined(CONFIGURE_INIT) && CONFIGURE_RECORD_PER_PROCESSOR_COUNT > 0
+#include <rtems/record.h>
+
+#if (CONFIGURE_RECORD_PER_PROCESSOR_COUNT & (CONFIGURE_RECORD_PER_PROCESSOR_COUNT - 1)) != 0
+ #error "CONFIGURE_RECORD_PER_PROCESSOR_COUNT must be a power of two"
+#endif
+
+#if CONFIGURE_RECORD_PER_PROCESSOR_COUNT < 16
+ #error "CONFIGURE_RECORD_PER_PROCESSOR_COUNT must be at least 16"
+#endif
+
+const unsigned int _Record_Item_count = CONFIGURE_RECORD_PER_PROCESSOR_COUNT;
+
+struct Record_Configured_control {
+ Record_Control Control;
+ rtems_record_item Items[ CONFIGURE_RECORD_PER_PROCESSOR_COUNT ];
+};
+
+PER_CPU_DATA_ITEM( Record_Configured_control, _Record_Per_CPU );
+
+RTEMS_SYSINIT_ITEM(
+ _Record_Initialize,
+ RTEMS_SYSINIT_RECORD,
+ RTEMS_SYSINIT_ORDER_MIDDLE
+);
+#endif /* CONFIGURE_RECORD_PER_PROCESSOR_COUNT */
+
/*
* This sets up the resources for the FIFOs/pipes.
*/
@@ -2123,6 +2150,9 @@ 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_COUNT > 0
+ RECORD_EXTENSION,
+ #endif
#if !defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY)
RTEMS_NEWLIB_EXTENSION,
#endif