summaryrefslogtreecommitdiffstats
path: root/cpukit/libtrace
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-30 08:09:46 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-30 08:57:28 +0200
commit11f196d646958517c3fb1306b50323e4c3f59211 (patch)
tree5741536c5f5de5980e333b87132a88e9903ff46f /cpukit/libtrace
parentrecord: Introduce _Record_Drain() (diff)
downloadrtems-11f196d646958517c3fb1306b50323e4c3f59211.tar.bz2
record: Simplify configuration
Update #3665.
Diffstat (limited to 'cpukit/libtrace')
-rw-r--r--cpukit/libtrace/record/record-sysinit.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/cpukit/libtrace/record/record-sysinit.c b/cpukit/libtrace/record/record-sysinit.c
index afb887cd2f..88680a0c83 100644
--- a/cpukit/libtrace/record/record-sysinit.c
+++ b/cpukit/libtrace/record/record-sysinit.c
@@ -40,20 +40,24 @@ static Watchdog_Interval _Record_Tick_interval;
void _Record_Initialize( void )
{
Record_Control *control;
+ size_t control_size;
uint32_t cpu_max;
uint32_t cpu_index;
+ unsigned int item_count;
- control = _Record_Configuration.controls;
cpu_max = rtems_configuration_get_maximum_processors();
+ item_count = _Record_Configuration.item_count;
+ control = _Record_Configuration.controls;
+ control_size = sizeof( *control );
+ control_size += sizeof( control->Items[ 0 ] ) * item_count;
for ( cpu_index = 0; cpu_index < cpu_max; ++cpu_index ) {
Per_CPU_Control *cpu;
cpu = _Per_CPU_Get_by_index( cpu_index );
- control->mask = _Record_Configuration.item_count - 1U;
+ control->mask = item_count - 1U;
cpu->record = control;
- control = (Record_Control *)
- ( (char *) control + _Record_Configuration.control_size );
+ control = (Record_Control *) ( (char *) control + control_size );
}
}