diff options
Diffstat (limited to 'cpukit/include/rtems/confdefs.h')
-rw-r--r-- | cpukit/include/rtems/confdefs.h | 30 |
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 |