diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-27 15:39:43 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-28 08:58:14 +0200 |
commit | a2684c2b8d4cd1336052cc541cce31cc342bae2e (patch) | |
tree | 0abeef7d522a53b558f7c453bfef4bbdacfc8eef /cpukit/include/rtems/confdefs.h | |
parent | record: Add data size to client (diff) | |
download | rtems-a2684c2b8d4cd1336052cc541cce31cc342bae2e.tar.bz2 |
record: Use BSS section instead of per-CPU data
The .rtemsrwset section is used for the per-CPU data. This section has
loadable content. Place the ring buffers in the BSS section to avoid
large executable image sizes.
Not using the per-CPU data makes it possible to initialize the record
support earlier.
Update #3665.
Diffstat (limited to 'cpukit/include/rtems/confdefs.h')
-rw-r--r-- | cpukit/include/rtems/confdefs.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index 45a75f0c6f..085df2444c 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -2942,14 +2942,18 @@ struct _reent *__getreent(void) #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; + typedef struct { + RTEMS_ALIGNED( CPU_CACHE_LINE_BYTES ) Record_Control Control; rtems_record_item Items[ CONFIGURE_RECORD_PER_PROCESSOR_ITEMS ]; - }; + } Record_Configured_control; - PER_CPU_DATA_ITEM( Record_Configured_control, _Record_Per_CPU ); + static Record_Configured_control _Record_Controls[ _CONFIGURE_MAXIMUM_PROCESSORS ]; + + const Record_Configuration _Record_Configuration = { + CONFIGURE_RECORD_PER_PROCESSOR_ITEMS, + sizeof( Record_Configured_control ), + &_Record_Controls[ 0 ].Control + }; RTEMS_SYSINIT_ITEM( _Record_Initialize, |